printf()
In ra màn hình (stdout) thông điệp và giá trị biến.
Cú pháp
printf(const char *format, ...);
Ví dụ
#include <stdio.h>
int main() {
int a = 24;
printf("Welcome! \n");
printf("Gia tri a: %d", a);
return 0;
}
Welcome! Gia tri a: 24
sprintf()
Hàm "string print" — không in ra màn hình mà ghi định dạng vào bộ nhớ đệm (buffer).
Cú pháp
int sprintf(char *buffer, const char *format, ...);
Ví dụ
#include <stdio.h>
int main() {
char buf[50];
int x = 15, y = 25, z = x + y;
sprintf(buf, "Tong gia tri: %d", z);
printf("%s", buf);
return 0;
}
Tong gia tri: 40
fprintf()
Ghi định dạng ra một luồng file (stream), không phải stdout.
Cú pháp
int fprintf(FILE *stream, const char *format, ...);
Ví dụ
#include <stdio.h>
int main() {
FILE *f = fopen("new.txt", "w");
if (!f) { printf("Khong mo duoc file"); return 1; }
for (int i = 0; i < 2; i++) {
char s[20];
printf("Nhap text: ");
fgets(s, sizeof(s), stdin);
fprintf(f, "%d.%s", i, s);
}
fclose(f);
return 0;
}
File new.txt sau chạy:
0.Nhap text 1 1.Nhap text 2
Tóm tắt
| Hàm | Đích đến | Trả về |
|---|---|---|
| printf | stdout (màn hình) | Số ký tự in |
| sprintf | Buffer (char*) | Số ký tự ghi |
| fprintf | FILE* (file/stream) | Số ký tự ghi |
Cảnh báo: sprintf không kiểm tra kích thước buffer — dễ gây tràn. Dùng snprintf (C99) an toàn hơn.