使用istringstream的问题

时间:2014-05-01 19:35:52

标签: c++ input fstream sstream

#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个对象。我不能再使用它吗?它目前在编译中显示错误。

1 个答案:

答案 0 :(得分:3)

您无法使用构造函数方法再次初始化iss变量:

iss(line) ; 

您需要为第二行提供另一个std::istringstream实例,或者 或者,您可以使用std::istringstream::str()功能设置内容(请参阅此处了解working sample)。