01/10/2018, 09:33
Bị mất kí tự khi dùng cin.ignore()
Cho mình hỏi tại sao khi chạy đoạn chương trình sau thì xâu s bị mất 5 kí tự:
int main(){ string s; cin.ignore(5); getline(cin,s); cout << s <<endl; return 0; }
Bài liên quan
cin.ignore(5)
tự động bỏ qua 5 kí tự đầu tiên kể từ vị trí của con trỏ. Bỏcin.ignore(5)
đi là đọc được đủ xâu s. Ví dụ, bạn inputhelpmeplz
thì stream bỏ quahelpm
, lúc này con trỏ ở vị trí chữe
và lệnh getline đằng sau chỉ đọc từ chỗ con trỏ đến hết dòng, xâu s chỉ cóeplz
.