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

4

1 回答 1

4

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

iss(line) ; 

您需要std::istringstream为第二行提供另一个实例,或者
您可以使用该std::istringstream::str()函数来设置内容(请参阅此处的工作示例)。

于 2014-05-01T19:44:01.663 回答