fgetc() – Đọc ký tự từ file
Đọc 1 ký tự từ stream. Trả về int (ký tự) hoặc EOF.
int fgetc(FILE *stream);
Ví dụ đọc file
#include <stdio.h>
#include <conio.h>
void main() {
FILE *f;
char ch;
clrscr();
f = fopen("new.txt", "r");
while ((ch = fgetc(f)) != EOF)
printf("%c", ch);
fclose(f);
getch();
}
File new.txt: 0,hell!o 1,hello! 2,gfdtrhtrhrt 3,demo
Kết quả
0,hell!o 1,hello! 2,gfdtrhtrhrt 3,demo
fputc() – Ghi ký tự vào file
Ghi 1 ký tự vào stream. Trả về ký tự đã ghi, hoặc EOF nếu lỗi.
int fputc(int c, FILE *stream);
Ví dụ ghi file
#include <stdio.h>
int main() {
FILE *f = fopen("new.txt", "w");
if (!f) return 1;
fputc('A', f);
fclose(f);
return 0;
}
File new.txt sau chạy: chỉ chứa A (ghi đè toàn bộ do mode "w").
So sánh
| Hàm | Chức năng | Trả về | Stream |
|---|---|---|---|
| fgetc | Đọc 1 ký tự | int (ký tự/EOF) | FILE* (input) |
| fputc | Ghi 1 ký tự | int (ký tự/EOF) | FILE* (output) |
| getc | Đọc 1 ký tự (macro) | int | FILE* |
| putc | Ghi 1 ký tự (macro) | int | FILE* |
| getchar | Đọc từ stdin | int | stdin |
| putchar | Ghi ra stdout | int | stdout |
Lưu ý: Luôn dùng
int cho biến nhận fgetc/getc để so sánh EOF đúng. fputc nhận int nhưng chỉ ghi byte thấp.