0

我想读取文件,以便它应该逐个整数地读取。我已经逐行阅读了它,但我想一个整数一个整数地阅读它。

这是我的代码:

void input_class::read_array()
{    
        infile.open ("time.txt");
        while(!infile.eof()) // To get you all the lines.
        {
            string lineString;
            getline(infile,lineString); // Saves the line in STRING
            inputFile+=lineString;
        }
        cout<<inputFile<<endl<<endl<<endl;
        cout<<inputFile[5];

        infile.close();
}
4

2 回答 2

3

你应该做这个:

#include <vector>

std::vector<int> ints;
int num;
infile.open ("time.txt");
while( infile >> num)
{
    ints.push_back(num);
}

循环将在到达 EOF 时退出,或者它尝试读取非整数。要详细了解循环的工作原理,请在此处此处此处阅读我的答案。

另一种方法是:

#include <vector>
#include <iterator>

infile.open ("time.txt");
std::istream_iterator<int> begin(infile), end;
std::vector<int> ints(begin, end); //populate the vector with the input ints
于 2012-04-26T14:29:39.087 回答
0

您可以使用以下命令从 fstream 读取到 int operator>>

int n;
infile >> n;
于 2012-04-26T14:27:39.560 回答