我有一个文件,每行包含三个整数。当我读取这一行时,我使用一个stringstream来分隔这些值,但它只读取第一个值。另外两个读为零。C++ 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被正确提取,但收入和成员会被分配为零,而不是实际值。
编辑:解决
没关系。代码正常工作。错误在我的打印声明中。我有一个for循环每次都以相同的索引打印数组。
你为什么要读第二个整数为双精度? – UncleZeiv 2010-05-08 21:05:54
适合我,是您的文本文件格式正确吗? – UncleZeiv 2010-05-08 21:10:01
该文件如何格式化?在每行中每个数字之间只有一堆空格 – user69514 2010-05-08 21:18:51