2011-07-14 166 views
2

嗨,我是C++中的新手,並且正在做一些基本的練習。我的代碼需要用戶輸入並將它們輸入到數組中。現在我正在使用getline()來獲取輸入字符串。我的代碼如下: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 

任何人都可以告訴我爲什麼這樣?

回答

5

get()調用消耗S和M,刪除它們,它將工作。 getline()已經消耗了\ n

+0

感謝您清除我的疑問 – Naphstor

相關問題