如何在C ++中的同一行上两次getline()?

问题描述 投票:0回答:2

我有一个文件,我想存储一行的第一部分,直到到达',',然后将该行的剩余部分存储到另一个变量中。目前,它跳过了一半的行。例如,这是我文件的三行:

021200725340,Scotch Removable Clear Mounting Squares - 35 Ct
041520035646,Careone Family Comb Set - 8 Ct
204040000000,Plums Black

我的代码仅存储一半行:

while(getline(file, upc)){ 
    getline(file, upc, ',');        
    getline(file, description); 
}
c++ getline
2个回答
3
投票

我的代码仅存储一半行:

getline语句的条件内对while的调用对此负责。

将代码更改为:

while( getline(file, upc, ',') && getline(file, description) )
{
   // Use the data.
}

0
投票

向量结果;stringstream s_stream(my_str); //从字符串创建字符串流

while(s_stream.good()){字符串getline(s_stream,substr,','); //获取第一个以逗号分隔的字符串result.push_back(substr);}

for(int i = 0; i

© www.soinside.com 2019 - 2024. All rights reserved.