在C++中检查输入文件中的一行是否只有一个int
Checking that a line in an input file has only one int in C++
我正在尝试读取以下格式的输入文件:
1
4
56
12
每个整数都在一行中。
目的是确定每条线是一个int
,并且它只包含一个int
。这是我的代码片段:
std::fstream file(filename, std::ios_base::in);
int num=0;
char c;
file.open(filename);
while(std::getline(file, line)){
std::istringstream s(line);
if(!(s >> num)){
//error not a number
file.close();
std::exit(EXIT_FAILURE);
}else if(s >> c){
//error there was more than one object in a line
file.close();
std::exit(EXIT_FAILURE);
我得到的错误是:
a5.cpp:28:22: error: implicit instantiation of undefined template 'std::__1::basic_istringstream<char,
std::__1::char_traits<char>, std::__1::allocator<char> >'
std::istringstream s(line);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:120:33: note:
template is declared here
class _LIBCPP_TYPE_VIS_ONLY basic_istringstream;
您忘记包含sstream:
#include <sstream>
相关文章:
- 如何测试一行是否为空?
- 如何检查一行中的3个节点是否相同C++?
- 如何检查从键盘输入的特定整数值是否存在于C++文件中的一行或多行中
- 是否可以让 Bitset 将位打印到一行?
- 在 C++ 中搜索 2D 数组以查看一行/列是否与另一行/列相同
- 更改值,并知道它是否在一行中更改
- 如何确定输入文件中的一行是否是最后一行?C++
- 是否可以使用一行代码从 std::cin 中提取格式化输入
- 是否可以遍历文本文件行并使用字符串流来解析每一行
- 用“ strcpy”在2D数组中删除(字符)的一行(字符)时是否存在任何错误
- 是否可以<int>在一行中将向量值分配给 std::unordered<int,std::vector<int>>?
- 在C++中检查输入文件中的一行是否只有一个int
- 如何检查文件的最后一行是否有new_line字符?C++
- 是否可以在一行中初始化一个值递增的向量
- 如何在初始化的同一行检查流是否失败
- 如果输入大于零,是否有一行用于从输入中减去 1
- 如何知道文本文件中的字符串是否在第一行?[C++ ]
- 是否可以将其重写为一行
- 给定尺寸为 26 * 7 的图像是否有可能在垫子的每一行中包含 78 个单独的颜色值,而另一个可以包含 77
- 确定文件中的一行是否包含阿拉伯数字或罗马数字的c++程序