我需要先读入一个字符串,然后读入一个整数,直到用户指示输入结束(在 linux 中为 ctrl-d)。再次,我被卡住了。目前我有一个while循环:
while (getline(cin, line))
Run Code Online (Sandbox Code Playgroud)
但是,这给出了一整行,然后我似乎无法将字符串与整数分开。建议将不胜感激!:)
如果字符串和整数用空格分隔;做这个:
while(std::cin>>your_string>>your_num>>std::ws){}
Run Code Online (Sandbox Code Playgroud)
您可以通过自己编写操纵符来选择自己的分隔符。
另一种方法是按照您的方式进行操作,将输入行放入字符串流并从中提取字符串和数字。这种方法对我来说似乎很迂回,因为您从一个流中获取字符串只是为了将它放入另一个流中。