关于 c :有没有办法使用 cin 在同一行上分配多个字符串?


Is there any way to assign multiple strings on the same line using cin?

我刚刚开始学习 C,我已经进行了一些谷歌搜索,但似乎无法找到可靠的答案。

无论如何都可以使用 cin.

在同一行输入多个字符串变量

例如,假设您希望某人在同一行输入名字和姓氏,然后将它们分配给变量名和姓氏。

除了多行并提示他们两次之外,你会如何做到这一点?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <string>
#include <iostream>
using namespace std;


int main(){

    string firstname;
    string lastname;

    cout <<"Please enter your first name: \
"
;

    cin >> firstname;

    cout <<"Please enter your last name: \
"
;


    cin >> lastname;

    cout <<"Your full name is  :" << firstname <<""<< lastname;

    return 0;

}


有可能:

1
2
3
4
5
std::string firstname, lastname;
std::cout <<"Please enter your full name:\
"
;
std::cin >> firstname >> lastname;
std::cout <<"Your full name is  :" << firstname << ' ' << lastname;

由于 std::cinoperator>> 返回对 std::cin 的引用,因此可以将其链接在一起,就像 std::cout.


假设你只想使用cin函数,你应该试试; cin >> firstname >> lastname 并提示用户以这种格式输入他/她的姓名:"john smith", "jane smith",因为空格会导致 cin 函数将其完全接受为不同的输入,从而使程序输入名字,然后输入姓氏。

抱歉,有任何语法问题。
编辑:我应该提到我的意思是引号内的格式,如输入名字、空格、姓氏。