c++ - 读取文本文件并存储到数组中
问题描述
我有一个.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
也欢迎对此代码提出任何建议!
解决方案
您只是在文件中写入而不是读取。如果您关闭程序并重新启动它,您的数组将像您说的那样为空。所以如果你想从你写的文件中读取文件,你必须使用
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 是一个字符串,但我们需要数字
}
推荐阅读
- sql - 将年份分配给过去 6 个月的月份
- c++ - 如何通过调用另一个方法从一个对象的方法启动线程?
- sql-server - DROP TABLE IF EXISTS vs OBJECT_ID IS NOT NULL
- sql - 如何将外部字符串添加到查询的输出中
- ios - Pod文件在一段时间后不断消失
- r - 使用日期范围闪亮更新绘图
- python - Webscrape 返回不可读的字符和乱码
- javascript - 即使使用了 Promise,异步函数也不会等待
- tableau-api - Tableau,如果列> 0,那么当列为负时,1 显示 1?
- java - REST 开发后端 DTO 与前端 DTO