Getline là gì

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

1  Ket thuc
3 hoặc
1  Ket thuc
4, chương trình sẽ tự động bỏ qua các ký tự còn lưu trong bộ nhớ đệm [VD như
1  Ket thuc
5 hoặc
1  Ket thuc
6], 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
1  Ket thuc
7 để 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

1  Ket thuc
8, 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ủ Đề