我试图从文件中读取所有整数并将它们放入数组中.我有一个包含以下格式的整数的输入文件:
3 74
74 1
1 74
8 76
Run Code Online (Sandbox Code Playgroud)
基本上,每行包含一个数字,一个空格,然后是另一个数字.我知道在Java中我可以使用Scanner方法nextInt()忽略间距,但我在C++中找不到这样的函数.
#include <fstream>
#include <iostream>
#include <vector>
int main()
{
std::vector<int> arr;
std::ifstream f("file.txt");
int i;
while (f >> i)
arr.push_back(i);
}
Run Code Online (Sandbox Code Playgroud)
或者,使用标准算法:
#include <algorithm>
#include <fstream>
#include <iterator>
#include <vector>
int main()
{
std::vector<int> arr;
std::ifstream f("file.txt");
std::copy(
std::istream_iterator<int>(f)
, std::istream_iterator<int>()
, std::back_inserter(arr)
);
}
Run Code Online (Sandbox Code Playgroud)