Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

printf(), sprintf() và fprintf() trong C

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 đếnTrả về
printfstdout (màn hình)Số ký tự in
sprintfBuffer (char*)Số ký tự ghi
fprintfFILE* (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.