C++ 从文件读入后未获得任何输出

C++ 从文件读入后未获得任何输出,c++,C++,我试图将上面的每一列从文本文件读入相应的数组。第一列是长度,第二列是us,第三列是russ。当我尝试做一个样本输出来测试它时,什么都没有出来。程序编译时完全没有bug或错误,只是没有显示输出 你的问题就在这里 #include<iostream> #include<cmath> #include<fstream> using namespace std; int main() { int length [48]; int us[48];

我试图将上面的每一列从文本文件读入相应的数组。第一列是长度,第二列是us,第三列是russ。当我尝试做一个样本输出来测试它时,什么都没有出来。程序编译时完全没有bug或错误,只是没有显示输出

你的问题就在这里

#include<iostream>
#include<cmath>
#include<fstream>
using namespace std;
int main()
{
    int length [48];
    int us[48];
    int russ[38];

    ifstream infile;

    infile.open("data.txt");
    if(infile.fail())
    {
        cout << "error" << endl;
        return 1;
    }
    for(int i=0;i<48;i++)
    {
        infile >> length[i];
        infile >> us[i];
        while(i<=38)
        {
            infile>> russ[i];
        }
        infile.close();
    }

    for (int i = 0; i < 48; i++)
    {
        cout << length[i];
    }

    return 0;
}
只需将其替换为以下内容:

while(i<=38)
{
   infile>> russ[i];
}

另外,我不知道您到底想做什么,因为您在太多for循环后生成输出,因此您会丢失数据。

同时编辑代码,使其更具可读性。@Johnnymop啊,是的!你是对的!对不起,我弄错了。你的文本文件信息怎么样?从您的代码中,您希望每行有3个col,第一个:integer,第二个:integer,第三个是一个包含38个元素的整数数组。这是正确的吗;在forint i=0的第二次迭代之前关闭流;只需要少一点whilei@AlexeyUsachov我专注于无限循环,忘记了AoB。谢谢
while(i<38)
{

   infile>> russ[i++];
}