似乎它并没有将空间内的单词分开。
尝试将两者之间的单词分开,并将其存储在第一个和第二个中。
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, ' ');
答案 0 :(得分:3)
替换
cin >> name;
与
getline(cin, name); //input name
cin >>
仅读取第一个空格。如果你做了cout << name;
来检查读取的内容,你就会意识到这一点 - 这是调试的第一步。
答案 1 :(得分:2)
使用cin >> name;
读取初始输入时,只能读取第一个空格字符。
然后你尝试在白色空间将其分成两部分,但它并不包含。
简单方法:
cin >> first >> second;
或者,如果您从std::getline(cin, name);
而不是cin >> name;
开始,那么其余的应该正常工作。