所以我试图逐行输入。输入中的每一行格式如下:
Words_More words_even more words_我需要经历_ Random_ Random_Etc。
随机数量的单词簇(单词用'_'分隔)
我希望,对于每一行,能够忽略所有单词,直到我到达第四个单词群集,在我给出的示例中将是:“我需要经历的内容”,然后将这些单独的单词存储在我尚未决定的一些数据结构。
我的第一个想法是使用
getline(cin, trash, '_');
三次并处理后面的数据,但那么我将如何逐行循环直到输入结束?
答案 0 :(得分:1)
您基本上有两个选择:
使用getline(stream, string)
从流中获取一行,并将其存储到字符串中。然后构造一个istringstream
再次解析(使用您想到的getline
。
ignore()
填充下一个换行符您执行getline()
项操作,然后致电ignore()
(doc)
读取并丢弃剩下的行,这样你就可以重新开始下一行了。
您使用哪一个取决于您。但如果你关心那些东西,那么第二个的表现稍好一些。