【发布时间】:2021-12-22 12:19:43
【问题描述】:
假设我正在尝试从以下 input.txt 中读取
6 Jonathan Kim Jr
2 Suzie McDonalds
4 Patty
... 我想将每行的第一个整数和其余字符串存储为字符串变量。这是我尝试过的:
int num;
string name1, name2, name3;
while ( ins >> num >> name1 >> name2 >> name3 )
{
// do things
}
不幸的是,这不起作用,因为第 2 行和第 3 行只有 2 个和 1 个字符串,因此循环将在第一个循环处终止。
有没有办法将整数之后的其余字符串存储在单个变量中,包括空格?例如,字符串变量name 将持有:
"Jonathan Kim Jr" // first loop
"Suzie M" // second loop
"Patty" // third loop
我也考虑过使用 getline 来实现这一点,但这需要我将整数与字符串隔离开来,我希望有更好的方法来做到这一点。也许使用向量?
【问题讨论】: