0

似乎它没有在空间内分隔单词。

试图将它们之间的单词分开,并将其存储在第一个和第二个中。

cin >> name; //input name 
stringstream file (name);
getline(file,first, ' '); //seperate the name with the first name and last name using space 
getline(file,second, ' ');
4

2 回答 2

3

代替

cin >> name;

getline(cin, name); //input name

cin >>只读取第一个空格。如果您检查正在读取的内容,您就会意识到这一点cout << name;——这是调试的第一步。

于 2013-04-27T17:18:29.877 回答
2

当您读取初始输入时cin >> name;,最多只能读取第一个空格字符。

然后,您尝试在空白处将其分成两部分,它不包含。

简单的方法:

cin >> first >> second;

或者,如果您从而std::getline(cin, name);不是开始cin >> name;,那么其余部分应该可以正常工作。

于 2013-04-27T17:18:56.500 回答