我有一个文件,每行包含三个整数。当我读取该行时,我使用字符串流来分隔值,但它只读取第一个值。另外两个读作零。
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循环打印数组在相同的索引。
答案 0 :(得分:1)
为什么不直接从文件中读取?
while( inputstream ) {
if( ! inputstream >> id ) ...
if( ! inputstream >> income ) ...
if( ! inputstream >> members ) ...
}