Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.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++ 从txt读取文件_C++_File - Fatal编程技术网

C++ 从txt读取文件

C++ 从txt读取文件,c++,file,C++,File,我有一个双矩阵50x8的txt文件。前两行包含数组大小 50 8. 50x8矩阵。当我尝试使用上述代码读取此文件时: #include<iostream> #include<fstream> using namespace std; int main() { ifstream infile; infile.open("C:/Users/zenitis/Desktop/BTHAI_2.3b-src/BTHAI/txtFiles/W1.txt");

我有一个双矩阵50x8的txt文件。前两行包含数组大小 50 8. 50x8矩阵。当我尝试使用上述代码读取此文件时:

#include<iostream>
#include<fstream>

using namespace std;

int main() {

    ifstream infile;
    infile.open("C:/Users/zenitis/Desktop/BTHAI_2.3b-src/BTHAI/txtFiles/W1.txt");
    double events[50][8];

    while (!infile.eof()) 
    {
        for(int j=0;j<50;j++) 
        {
            for(int k=0; k<8;k++) 
            {
                infile >> events[j][k];
                // infile.get(c
            }
        }
    } //end while

    infile.close();

    for(int i = 0; i<50; i++){

        for(int l=0; l<8; l++){
            cout << events[i][l] << "    ";
        }

        cout << "\n";
    }

    cout << events[0][0];

    system("pause");     
    return 0;
}
#包括
#包括
使用名称空间std;
int main(){
河流充填;
infle.open(“C:/Users/zenitis/Desktop/BTHAI_2.3b-src/BTHAI/txtFiles/W1.txt”);
双项赛事[50][8];;
而(!infle.eof())
{
对于(int j=0;j事件[j][k];
//得到(c)
}
}
}//结束时
infle.close();

对于(int i=0;i,您可以这样读取行数和列数:

int R, C;
infile >> R;
infile >> C;

在读取文件其余部分的嵌套循环之前执行此操作。然后使用文件中的数字作为循环结束目标,而不是硬编码50和8。

此外,不需要while循环。while循环中的代码读取一个完整的矩阵。while循环因此读取多个矩阵,这不是您想要的。删除t行:
while(!infle.eof())
及其大括号(
{
,和
}
)。@snakeplissken:“xm谢谢你,它很有效。“表达得最好”