gpt4 book ai didi

c++ - 使用 >> 和 getline 的混合类型

转载 作者:行者123 更新时间:2023-11-28 06:52:27 25 4
gpt4 key购买 nike

我的任务是将一个字符串输入到一个字符数组中。这是它的样子:

char name[30];
cin>>name;
cin.getline(name,29);
cout<<name;

与输入一样:Ly Nguyen Khang结果只返回 Nguyen Khang请任何人帮助我理解这有什么问题:(

我的部分代码:

#define INPUT_HELP_NAME "Please input name: "
#define INPUT_HELP_PHONE "Phone: "
cout << INPUT_HELP_NAME;
cin.getline(res->name, MAX_NAME_LENGTH-1);
cout << INPUT_HELP_PHONE;
cin >> res->phone;

当它运行时,它显示如下:

Please input name : Phone : 

最佳答案

cin 编辑了两次,导致它无法工作。这是正确的做法:

char name[30];
cin.getline(name,29);
cout<<name;

cin.getline(name,29); 已经被 cin 编辑了,所以不需要 cin>>name;ing 它,这会使您的结果发生变化,因为您的代码说 cin 它两次。

关于c++ - 使用 >> 和 getline 的混合类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23692896/

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