#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std ;
int main()
{
ifstream infile ;
infile.open("input.txt") ;
string line ;
int noOfVar,noOfCubes ;
getline(infile,line) ;
istringstream iss(line) ;
iss >> noOfVar ;
getline(infile,line) ;
iss(line) ;
iss >> noOfCubes ;
cout << noOfCubes ;
cout << noOfVar ;
return 0 ;
}
我有一个输入文件如下
6
4
为什么上面的代码不能用于此。我曾经宣布过iss
个对象。我不能再使用它吗?它目前在编译中显示错误。
答案 0 :(得分:3)
您无法使用构造函数方法再次初始化iss
变量:
iss(line) ;
您需要为第二行提供另一个std::istringstream
实例,或者
或者,您可以使用std::istringstream::str()
功能设置内容(请参阅此处了解working sample)。