gpt4 book ai didi

c++ - C++程序崩溃中的文件读取错误

转载 作者:行者123 更新时间:2023-11-28 06:24:44 25 4
gpt4 key购买 nike

我一直在使用这段代码从文件中读取整数,但它看起来在与太多元素一起使用时会崩溃。该文件在第一行显示要放入数组中的数字数量,然后下一行显示数字。使用 1000000 个元素(这是我的最终目标)进行测试似乎会使程序崩溃。

示例输入文件:

8
5
6
1
4
9
3
1
2

代码:

ifstream fin;  
ofstream fout;

fin.open("share.in", ios::in);
fin >> days;
int incomes[days];
for(int i = 0; i < days; i ++){
fin >> incomes[i];
athroisma += incomes[i];
if(incomes[i] > minDiafora){
minDiafora = incomes[i];
}
}

可能有什么问题,您还建议使用哪些阅读方法?

最佳答案

只需使用 vector :

#include <vector>

//...

ifstream fin;
ofstream fout;

fin.open("share.in", ios::in);
fin >> days;
vector<int> incomes; /***DECLARATION***/
incomes.resize(days); /***TAKE SIZE***/

for(int i = 0; i < days; i ++){
fin >> incomes[i];
athroisma += incomes[i];
if(incomes[i] > minDiafora){
minDiafora = incomes[i];
}
}

//do something...

引用这里: http://www.cplusplus.com/reference/vector/vector/

你不应该为 noconst-sizes 使用静态数组 :)

关于c++ - C++程序崩溃中的文件读取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28723869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com