似乎它没有在空间内分隔单词。
试图将它们之间的单词分开,并将其存储在第一个和第二个中。
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, ' ');
似乎它没有在空间内分隔单词。
试图将它们之间的单词分开,并将其存储在第一个和第二个中。
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, ' ');
代替
cin >> name;
和
getline(cin, name); //input name
cin >>
只读取第一个空格。如果您检查正在读取的内容,您就会意识到这一点cout << name;
——这是调试的第一步。
当您读取初始输入时cin >> name;
,最多只能读取第一个空格字符。
然后,您尝试在空白处将其分成两部分,它不包含。
简单的方法:
cin >> first >> second;
或者,如果您从而std::getline(cin, name);
不是开始cin >> name;
,那么其余部分应该可以正常工作。