我的代码找不到问题。它正在DEV C ++中加载,但随后弹出带有“程序已停止工作”的窗口。
fstream file;
file.open("dane1.txt");
string linia;
string tab[5];
int i = 0;
do
{
getline(file,linia);
cout<<linia<<endl;
tab[i]=linia;
i++;
}
while(!file.eof());
file.close();
ofstream file2("wynik.txt");
if (file2)
{
for(int i=5;i>0;i--)
{
file2<< tab[i];
file2<< endl;
}
}
else
{
cout<<"You have problem with file!"<<endl;
}
pliki.close();
我想从第一个文件(dane1.txt)中获取行,然后以不同的顺序将其放置在失败的“ wyniki.txt”中
答案 0 :(得分:3)
string tab[5];
// ...
for(int i=5;i>0;i--)
{
file2<< tab[i];
file2<< endl;
}
此for
循环的第一次迭代尝试访问tab[5]
,它当然不存在,因为五元素tab
数组仅包含tab[0]
至tab[4]
。未定义的行为,以及导致程序崩溃的几乎确定原因。