Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何读取文件并放入数组 #包括 #包括 #包括 #包括 使用名称空间std; int main() { 字符串arr[3][2]; int i=0,j=0; 输出流(“test1.dat”,ios::app); 字符串名; while(true) { cin>>名称; 如果(名称=“结束”) 打破 out>name; j++; arr[i][j]=姓名; i++; j=0; } in.close(); 对于(i=0;i_C++_File - Fatal编程技术网

C++ 如何读取文件并放入数组 #包括 #包括 #包括 #包括 使用名称空间std; int main() { 字符串arr[3][2]; int i=0,j=0; 输出流(“test1.dat”,ios::app); 字符串名; while(true) { cin>>名称; 如果(名称=“结束”) 打破 out>name; j++; arr[i][j]=姓名; i++; j=0; } in.close(); 对于(i=0;i

C++ 如何读取文件并放入数组 #包括 #包括 #包括 #包括 使用名称空间std; int main() { 字符串arr[3][2]; int i=0,j=0; 输出流(“test1.dat”,ios::app); 字符串名; while(true) { cin>>名称; 如果(名称=“结束”) 打破 out>name; j++; arr[i][j]=姓名; i++; j=0; } in.close(); 对于(i=0;i,c++,file,C++,File,尝试在while循环中为i添加一个条件。 这将修复数组边界的运行时错误,但仍然存在逻辑错误(除非希望在数组中重复出现相同的单词?) while(!in.eof()&&i>的名义; j++; arr[i][j]=姓名; i++; j=0; } 这不是C,顺便说一句。这与C-man无关。至于您的问题:您是否确保成功创建流?您似乎没有检查状态位。很可能i在您的读取while循环中变得大于2。当您使用调试器时,哪个语句导致了问题?SeaRCH用于现有的“几乎”重复:“StAdvOpjultC++读取文件

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

while(!in.eof()&&i<3)
{
arr[i][j]=姓名;
以>>的名义;
j++;
arr[i][j]=姓名;
i++;
j=0;
}

这不是
C
,顺便说一句。这与C-man无关。至于您的问题:您是否确保成功创建流?您似乎没有检查状态位。很可能
i
在您的读取while循环中变得大于2。当您使用调试器时,哪个语句导致了问题?SeaRCH用于现有的“几乎”重复:“StAdvOpjultC++读取文件数组”。
#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;
}
while(!in.eof() && i < 3)
{
    arr[i][j]=name;
    in>>name;
    j++;
    arr[i][j]=name;
    i++;
    j=0;
}