如何读取文件并放入数组

时间:2015-11-16 19:44:37

标签: c++ file

#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>

using namespace std;

int main()
{
    string arr[3][2];
    int i =0,j=0;
    ofstream out ("test1.dat" , ios::app);
    string name;
    while(true)
    {
        cin>>name;
        if(name=="end")
        break;
        out << name <<' ' ;

    }
    out.close();

    ifstream in ("test1.dat", ios::in);
    in >> name;
    while(!in.eof())
    {
        arr[i][j]=name;
        in>>name;
        j++;
        arr[i][j]=name;
        i++;
        j=0;

    }
    in.close();
    for(i=0;i<3;i++){

    cout<<endl;
        for(j=0;j<2;j++){

            cout<<arr[i][j]<<" ";}
        }

    return 0;
}

请帮助我有这个运行时错误。我的问题是什么?我想在文件中写入一些数据然后读取它们并将它们放在一个数组中然后打印数组。我想写和读取文件由字符串而不是字符。关于我的弱英语。 感谢

1 个答案:

答案 0 :(得分:0)

尝试在while循环中为i添加条件。 这会使用数组边界修复运行时错误,但仍然存在逻辑错误(除非您希望在数组中重复出现相同的单词?)

while(!in.eof() && i < 3)
{
    arr[i][j]=name;
    in>>name;
    j++;
    arr[i][j]=name;
    i++;
    j=0;
}