如何修复C++中文件的输入和输出问题

How to fix input and output problem with files in C++?

本文关键字:输入 输出 出问题 文件 何修复 C++ 中文      更新时间:2023-10-16

我找不到我的代码有问题。它正在 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中

string tab[5];
// ...
for(int i=5;i>0;i--)
{   
    file2<< tab[i];
    file2<< endl;
}

这个for循环的第一次迭代试图访问tab[5]当然,这并不存在,因为五元素tab数组仅包含tab[0]tab[4]。未定义的行为,以及程序崩溃的近乎确定的原因。