gpt4 book ai didi

c++ - 使用 cin 获取多个带空格的输入

转载 作者:行者123 更新时间:2023-11-28 01:49:35 24 4
gpt4 key购买 nike

我有一个简单的结构,它存储一个人的详细信息,其值需要通过用户输入进行初始化。结构如下:

typedef struct {

char name[20];
int age;
char address[50];
char vehicle[10];
}Runner;

我正在使用 cin存储每个 Runner 的值但希望使用 enter key 获取输入(中间可能包含空格)输入每个值后。

代码如下:

Runner run1;

cout << "Enter name age address vehicle (pressing enter at each instance)" << endl;
cin >> run1.name >> run1.age >> run1.address >> run1.vehicle ;

很明显,空格分隔的值将被视为两个唯一条目。

如何跳过空格和 cin仅在按下输入后。此外,如果对这种情况有另一种方法,那么知道同样的方法会很棒。

最佳答案

由于输入之间可能有空格,您应该使用 getline 函数。

cin.getline(run1.name,20);
cin.getline(run1.address,50);
cin.getline(run1.vehicle,10);
cin >> age

但是如果你想在获取name的值之后获取age的值,那么你将不得不做这样的事情。

cin.getline(run1.name,20);
cin >> run1.age;
cin.getline(dummy,5); //cin leaves a newline at the buffer. This line of code takes the newline from the buffer.
cin.getline(run1.address,50);
cin.getline(run1.vehicle,10);

关于c++ - 使用 cin 获取多个带空格的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43536672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com