C ++ stringstream读取所有零

时间:2010-05-08 21:02:11

标签: c++ parsing string fstream stringstream

我有一个文件,每行包含三个整数。当我读取该行时,我使用字符串流来分隔值,但它只读取第一个值。另外两个读作零。

ifstream inputstream(filename.c_str());
if( inputstream.is_open() ){

    string line;
    stringstream ss;

    while( getline(inputstream, line) ){
        //check line and extract elements
        int id;
        double income;
        int members;

        ss.clear();
        ss.str(line);
        ss >> id >> income >> members;*emphasized text*
    }
}

在上面的例子中,正确提取了id,但收入和成员被分配为零而不是实际值。

编辑:解决了

没关系。代码工作正常。错误发生在我的print语句中。每次都有一个for循环打印数组在相同的索引。

1 个答案:

答案 0 :(得分:1)

为什么不直接从文件中读取?

while( inputstream ) {
    if( ! inputstream >> id ) ...
    if( ! inputstream >> income ) ...
    if( ! inputstream >> members ) ...
}