首页 > 解决方案 > 读取文本文件并存储到数组中

问题描述

我有一个.txt文件,其中包含写入数组的内容。但是如果程序关闭,数组的内容当然会被删除,因此我需要读取.txt文件以“提醒”数组之前的内容。

那是我的代码:

#include <fstream>

unsigned short int highscores[11]{0};

int main()
{
    highscores[0] = score;
    std::sort(highscores, highscores + 11);
    std::ofstream outputFile("scores.txt", std::ios::trunc);
    for (short int i = 10; i > 0; i--) {
        outputFile << highscores[i] << std::endl;
    }
    outputFile.close();
}

那是我的scores.txt文件:

22
15
13
10
5
5
3
1
1
1

也欢迎对此代码提出任何建议!

标签: c++arrayssorting

解决方案


您只是在文件中写入而不是读取。如果您关闭程序并重新启动它,您的数组将像您说的那样为空。所以如果你想从你写的文件中读取文件,你必须使用

std::ifstream inputFile("scores.txt",std::ios::in);

那么有很多方法可以读取文件。一种是声明一个字符串:

std::string 行;

然后使用while循环和getline。

usigned short int highscores[11]{0}; 诠释我=0;while(getline(inputFile,line) { highscores[i]=stoi(line); // stoi 表示字符串到 int。我们使用它是因为 line 是一个字符串,但我们需要数字

}


推荐阅读