gpt4 book ai didi

c++ - getline 无法正常工作?可能是什么原因?

转载 作者:IT老高 更新时间:2023-10-28 21:53:59 27 4
gpt4 key购买 nike

Possible Duplicate:
getline not asking for input?

在我的程序中发生了一些独特的事情。以下是一些命令集:

 cout << "Enter the full name of student: ";  // cin name
getline( cin , fullName );

cout << "\nAge: "; // cin age
int age;
cin >> age ;

cout << "\nFather's Name: "; // cin father name
getline( cin , fatherName );

cout << "\nPermanent Address: "; // cin permanent address
getline( cin , permanentAddress );

当我尝试将这段代码与整个代码一起运行时。输出程序的工作方式如下:

enter image description here

输出:

Enter the full name of student:
Age: 20

Father's Name:
Permanent Address: xyz

如果你注意到了,程序没有问我全名,而是直接问我年龄。然后它也跳过了父亲的名字,问了永久地址。这可能是什么原因?

因为代码太大,我很难贴出整个代码。

最佳答案

由于您尚未发布任何代码。我来猜一猜。

getlinecin 一起使用时的一个常见问题是 getline 不会忽略前导空白字符。

如果在 cin >> 之后使用 getline,getline() 会将此换行符视为前导空格,并且它会停止继续读取。

如何解决?

在调用 getline()

之前调用 cin.ignore()

或者

进行虚拟调用 getline() 以使用 cin >> 中的尾随换行符

关于c++ - getline 无法正常工作?可能是什么原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6649852/

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