为什么第二个角色对第二个变量迷路

阿比纳什·南达(Abinash Nanda)

我有2个char类型的变量

char desc[30];
char code[2];
cout << "Enter values : "<<"\n";
cin.getline(desc,30);
cin.getline(code,2);

cout << "\nValues Entered: "<<"\n";
cout << desc <<"\t";
cout << code <<"\n";

当按如下所示提供输入值时,第二个变量的第二个字符将丢失。我尝试了cin>>markscin.get(marks,2),但是行为始终相同。

输入值:
这是一条测试线
LH

输入的值:
这是测试线L

进程返回0(0x0)执行时间:11.285 s
按任意键继续。

在上面的示例中,即使输入为LH,在输出中也只有'L'可用而'H'丢失了。有人可以告诉我这里有什么问题吗?

火焰

看一下getline(重点是我的)文档

写入s的最大字符数(包括终止的null字符)

因此,如果您想读两个符号,则必须输入的大小3

cin.getline(code,3);

将缓冲区大小3更改为

char code[3];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章