如何解决C ++中文件的输入和输出问题?

时间:2019-01-21 20:04:11

标签: c++

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

1 个答案:

答案 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]。未定义的行为,以及导致程序崩溃的几乎确定原因。