Nội Dung:
Bài này Đạt sẽ giới thiệu về bộ đệm - buffer trong C. Trong C các hàm input, ouput như getchar, getch, getche, putchar, putch phụ thuộc vào hệ điều hành và phần cứng.
Trong ví dụ này Đạt sẽ giải thích tại sao khi sử dụng hàm getchar() ta phải enter để nhập dữ liệu. Trong khi đó getch lại không.
Lý do là vì getchar() sử dụng bộ đệm - buffer
- Lý do cần bộ đệm
- Tiết kiệm việc chuyển dữ liệu từ input tới chương trình
- Có thể sử được nội dung trước khi gửi
- Chỉ khi nào enter mới gửi dữ liệu đi
- Lý do không cần bộ đệm
- Chơi game
- Các chương trình tương tác với bàn phím trực tiếp
Trong C có 2 loại bộ đệm
- Fully buffered - dạng file
- Line bufered - dạng nhập từ bàn phím
Source code:
#include <stdio.h>
int main(void)
{
char ch;
/* while ((ch = getchar()) != '#')
putchar(ch); */
while ((ch = getche()) != '#')
putch(ch);
return 0;
}
Câu hỏi cho phần này: Các bạn hãy tìm kích thước của bộ đệm trên máy của các bạn