嗨,我是 C++ 新手,正在做一些基本练习。我的代码接受用户输入并将其输入数组中。现在我使用 getline() 来获取输入字符串。我的代码如下:
cin.getline(cb[0].name, 200).get(); // Cadburry
cin.getline(cb[1].name, 200).get(); // Snickers
cin.getline(cb[2].name, 200); // Milky Bar
但是当我输出字符串时,第一个 getline() 似乎没问题,但其他两个省略了字符串的第一个字母。所以本例中的输出是:
Cadburry
nickers
ilky Bar
谁能告诉我为什么会这样?
最佳答案
get() 调用正在消耗 S 和 M,删除它们即可工作。 getline() 已经消耗了\n
关于c++ - getline() 省略输出字符串的第一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6688642/