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

Chương trình C sao chép nội dung file

Quản lý File trong C

File lưu trữ dữ liệu bền vững. C cung cấp các hàm:

HàmChức năng
fopen()Mở/Tạo file
fclose()Đóng file
fprintf()Ghi khối dữ liệu
fscanf()Đọc khối dữ liệu
getc()Đọc 1 ký tự
putc()Ghi 1 ký tự
getw()Đọc 1 số nguyên
putw()Ghi 1 số nguyên
fseek()Di chuyển con trỏ file
ftell()Lấy vị trí con trỏ file
rewind()Về đầu file

Ví dụ: Sao chép file

Input: source = x1.txt, target = x2.txt
Output: File copied successfully.

Code C

#include <stdio.h>
#include <stdlib.h>

int main() {
    char ch;
    FILE *source, *target;
    char source_file[] = "x1.txt";
    char target_file[] = "x2.txt";

    source = fopen(source_file, "r");
    if (source == NULL) {
        printf("Cannot open source file\n");
        exit(EXIT_FAILURE);
    }

    target = fopen(target_file, "w");
    if (target == NULL) {
        fclose(source);
        printf("Cannot create target file\n");
        exit(EXIT_FAILURE);
    }

    while ((ch = fgetc(source)) != EOF)
        fputc(ch, target);

    printf("File copied successfully.\n");
    fclose(source);
    fclose(target);
    return 0;
}

Giải thích

  1. Mở file nguồn chế độ "r" (đọc)
  2. Mở file đích chế độ "w" (ghi, tạo mới/ghi đè)
  3. Đọc từng ký tự từ nguồn, ghi vào đích cho đến EOF
  4. Đóng cả hai file

Lưu ý

  • Luôn kiểm tra trả về NULL của fopen()
  • Sử dụng fgetc/fputc cho văn bản, fread/fwrite cho nhị phân
  • Đóng file sau khi dùng xong