读取包含由空格分隔的随机大小整数的文本文件

时间:2013-02-11 21:02:54

标签: c++ arrays file-io io

我的文本文件包含以下整数:123 879709789 43536 8768768

我想在一个数组索引中读取整数,如array [1] = 123 array [2] = 879709789。

这是我尝试过的:

ifstream myfile("numbers.txt");

if (myfile.is_open())
{
    while ( myfile.good() && !myfile.eof() )
    {
        for(i=1; i<myfile.eof(); i++)
        {
            myfile >> ar[i];
            if(ar[i]=="")
            {
                i++;
            }
        }
    }
}

1 个答案:

答案 0 :(得分:3)

像这样:

#include <vector>
#include <fstream>
#include <iterator>


std::ifstream infile("myfile.txt");   // or just use `std::cin`

std::vector<int> v(std::istream_iterator<int> { infile },
                   std::istream_iterator<int> { } );

现在v包含您的所有号码。如果沿途的任何地方都有输入错误,您将看不到它,输入将停止。如果这是一个问题,请使用getline / istringstream方法,正如本网站上数百个类似问题中所记录的那样。

相关问题