Getline trong c++ la gi

Chào các bạn, ở bài viết trước, chúng ta đã hiểu sơ bộ về kiểu ký tự rồi, ở bài viết lần này ta sẽ điểm mặt qua những hàm thường sử dụng cho kiểu ký tự và cũng như tìm hiểu về bộ nhớ đệm.

Bộ nhớ đệm

Bình thường, khi ta nhập 1 chuỗi ký tự hoặc số vào bàn phím, các chuỗi này sẽ được đẩy vào bộ nhớ đệm dùng cho việc lưu trữ trước khi được gán vào 1 biến.

Nếu ta dùng câu lệnh nhập scanf hoặc cin, chương trình sẽ tự động bỏ qua các ký tự còn lưu trong bộ nhớ đệm [VD như " " hoặc "\n"], bởi vậy ta không cần quan tâm tới. Nhưng vấn đề phát sinh khi ta dùng câu lệnh getline để lấy chuỗi có khoảng trắng.

Khi thao tác với kiểu ký tự [char] có sử dụng khoảng trắng hay Enter, ta cần lưu ý xóa bộ nhớ đệm trước khi in ra màn hình. Việc quên xóa bộ nhớ đệm sẽ dẫn đến việc lưu trữ giá trị trong biến bị sai. VD như ở câu lệnh sau:

int main[] { int a; char b[100]; cin >> a; \\Nhập vào 1, và xài Enter cin.getline[b,100]; \\Nhập "codelearn" cout

Chủ Đề