有没有办法使用cin在同一行上分配多个字符串? 我刚刚开始学习C++,我做了一些谷歌搜索,但似乎找不到可靠的答案。
是否仍然可以使用cin在同一行上输入多个字符串变量 例如,假设您希望有人在同一行中输入姓名,然后将其分配给varibales firstname和lastname 避免出现多行并两次提示的情况,您将如何做到这一点有没有办法使用cin在同一行上分配多个字符串? 我刚刚开始学习C++,我做了一些谷歌搜索,但似乎找不到可靠的答案。,c++,C++,是否仍然可以使用cin在同一行上输入多个字符串变量 例如,假设您希望有人在同一行中输入姓名,然后将其分配给varibales firstname和lastname 避免出现多行并两次提示的情况,您将如何做到这一点 #include <string> #include <iostream> using namespace std; int main(){ string firstname; string lastname; cout <
#include <string>
#include <iostream>
using namespace std;
int main(){
string firstname;
string lastname;
cout << "Please enter your first name: \n" ;
cin >> firstname;
cout << "Please enter your last name: \n";
cin >> lastname;
cout << "Your full name is : " << firstname <<" "<< lastname;
return 0;
}
#包括
#包括
使用名称空间std;
int main(){
字符串名;
字符串lastname;
cout>名字;
cout>lastname;
cout有可能:
std::string firstname, lastname;
std::cout << "Please enter your full name:\n";
std::cin >> firstname >> lastname;
std::cout << "Your full name is : " << firstname << ' ' << lastname;
std::string firstname,lastname;
std::cout>firstname>>lastname;
std::cout假设您只想使用cin功能,您应该尝试;cin>>firstname>>lastname
并提示用户以这种格式输入其姓名:“john smith”、“jane smith”,因为空格会使cin函数将其作为不同的输入接受,从而使程序先输入名字,然后输入姓氏
对不起,有语法错误的答案。
编辑:我应该提到我是指引号中的格式,如输入名字、空格、姓氏。std::cin>>firstname>>lastname;
?你不应该使用std::cin
来接受标准输入中的字符串。而应该使用std::getline
来代替。@Ron为什么不呢?对我来说似乎是个教条。@Ron为什么?我是指esp特别是如果OP希望用户可以在一行中输入名字和姓氏。@Ron确实有一点:例如路德维希·范·贝多芬。谢谢!尽管现在我有点困惑。使用getline提到的一些评论。这样做有什么好处吗?@BlueTeam如果名字或姓氏可能是多个单词,使用std::getline
。这是因为在像“路德维希·凡·贝多芬”这样的名字的情况下,std::cin
会将“路德维希”读作名字,“凡”作为姓氏。如果你确信这样的事情不会发生,std::cin
是完全可以接受的。谢谢你的详细解释,它真的很有帮助!@BlueTeam请回答。std::cin
不是一个函数。它是一个对象。std::cin>
调用函数操作符啊,是的,抱歉。我从来没有呃,我知道!谢谢。