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

Hàm tmpfile() trong C

Hàm tmpfile() tạo một tệp tin tạm thời ở chế độ cập nhật nhị phân (binary update mode) trong C. Nó được khai báo trong header file của chương trình C. Hàm luôn trả về con trỏ null nếu không thể tạo tệp tin tạm thời. Tệp tin tạm thời bị xóa tự động ngay sau khi chương trình kết thúc.

Cú pháp

FILE *tmpfile(void)

Giá trị trả về

Nếu tạo tệp thành công, hàm trả về con trỏ stream tới tệp tạm thời đã tạo. Nếu không thể tạo tệp, trả về con trỏ NULL.

Thuật toán

Bắt đầu.
  Khai báo mảng ký tự c[] và chuỗi dữ liệu.
  Khởi tạo biến integer i = 0.
  Khai báo con trỏ newfile kiểu FILE.
  Gọi tmpfile() để làm newfile thành con trỏ tệp tạm thời.
  Gọi open() để mở "nfile.txt" thực hiện ghi dùng newfile.
  if (newfile == NULL) thì
    In "Lỗi tạo tệp tin tạm thời".
    return 0.
  In "Tạo tệp tin tạm thời thành công".
  while (c[i] != '\0') do
    Ghi dữ liệu c[] vào con trỏ tệp newfile.
    i++.
  Gọi fclose() đóng con trỏ tệp.
  Gọi open() mở "nfile.txt" đọc dùng newfile.
  Gọi rewind() đặt con trỏ về đầu stream.
  while (!feof(newfile)) do
    Gọi putchar() in dữ liệu con trỏ newfile.
  Gọi fclose() đóng con trỏ tệp.
Kết thúc.

Ví dụ

#include <stdio.h>
int main() {
    char c[] = "Tutorials Point";
    int i = 0;
    FILE* newfile = tmpfile(); // làm con trỏ tệp thành tệp tạm thời.
    newfile = fopen("nfile.txt", "w");
    if (newfile == NULL) {
        puts("Lỗi tạo tệp tin tạm thời");
        return 0;
    }
    puts("Tạo tệp tin tạm thời thành công");
    while (c[i] != '\0') {
        fputc(c[i], newfile);
        i++;
    }
    fclose(newfile);
    newfile = fopen("nfile.txt", "r");
    rewind(newfile); // đặt con trỏ về đầu stream
    while (!feof(newfile))
        putchar(fgetc(newfile));
    fclose(newfile); // đóng con trỏ tệp
}

Kết quả

Tạo tệp tin tạm thời thành công Tutorials Point