嗨,我是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
任何人都可以告诉我为什么会这样?
答案 0 :(得分:5)
get()调用正在消耗S和M,删除它们并且它将起作用。 getline()已经消耗了\ n