Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法使用cin在同一行上分配多个字符串? 我刚刚开始学习C++,我做了一些谷歌搜索,但似乎找不到可靠的答案。_C++ - Fatal编程技术网

有没有办法使用cin在同一行上分配多个字符串? 我刚刚开始学习C++,我做了一些谷歌搜索,但似乎找不到可靠的答案。

有没有办法使用cin在同一行上分配多个字符串? 我刚刚开始学习C++,我做了一些谷歌搜索,但似乎找不到可靠的答案。,c++,C++,是否仍然可以使用cin在同一行上输入多个字符串变量 例如,假设您希望有人在同一行中输入姓名,然后将其分配给varibales firstname和lastname 避免出现多行并两次提示的情况,您将如何做到这一点 #include <string> #include <iostream> using namespace std; int main(){ string firstname; string lastname; cout <

是否仍然可以使用cin在同一行上输入多个字符串变量

例如,假设您希望有人在同一行中输入姓名,然后将其分配给varibales firstname和lastname

避免出现多行并两次提示的情况,您将如何做到这一点

#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>
调用函数
操作符啊,是的,抱歉。我从来没有呃,我知道!谢谢。