从文件中读取空格分隔的数字
Reading space-separated numbers from file
std::vector<int> loadNumbersFromFile(std::string name)
{
std::vector<int> numbers;
std::ifstream file;
file.open(name.c_str());
if(!file) {
exit(EXIT_FAILURE);
}
int current;
while(file >> current) {
numbers.push_back(current);
file.ignore(std::numeric_limits<std::streamsize>::max(), 'n');
}
return numbers;
}
问题是它在VS 2012中工作得很好,但在Dev c++中它只是读取文件中的第一个数字- while循环只进行一次。怎么了?
它应该与。txt文件一起工作。数字输入应该像:
1 3 2 4 5
这是一种更习惯的从文件中将整数读入vector的方法:
#include <iterator>
#include <fstream>
#include <vector>
std::vector<int> loadNumbersFromFile(const std::string& name)
{
std::ifstream is(name.c_str());
std::istream_iterator<int> start(is), end;
return std::vector<int>(start, end);
}
代码
file.ignore(std::numeric_limits<std::streamsize>::max(), 'n');
将跳过所有内容到下一个换行符。在这种情况下,你可能不希望这样。
相关文章:
- 如何在 C++ 中将文件中的逗号分隔数字读取到数组中?
- 分隔整数 (C++) 的数字
- 如何从文件中读取用空格分隔的数字
- C ++正则表达式允许用点分隔的数字
- 读取以逗号分隔的数字,并将其写入以制表符分隔的文件
- C++ 从文件中读取 int,每个数字用逗号分隔
- 我如何使用CIN输入整数,每个数字都被逗号分隔
- 如何从逗号分隔的数字对中填充 2 个向量 C++.
- 为什么我可以在 C++ 中用撇号分隔数字,但不能用 C 分隔数字
- 用字符分隔数字
- 逗号分隔的数字在模拟器上正确显示,但在iPad上没有显示
- 在 cpp 中使用 getline 输入数组中的空格分隔数字
- 给定分隔成数组元素的数字,如何在 int 中重新组合数字
- 如果字符串中没有空格,如何解析带有数字和字符的字符串并分隔数字和字符
- 扫描以空格分隔的数字
- 解析逗号分隔的数字(C++)
- C++ - 如何将空格分隔的数字输入数组
- 递增由不同分隔符分隔的字符数组中的数字
- 解析来自 getline 的空格分隔数字
- 如何在C或c++代码中分隔数字常量(例如10,000)中的数字