Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ฟังก์ชัน tmpfile() ใน C


ฟังก์ชัน tmpfile() สร้างไฟล์ชั่วคราวในโหมดอัพเดตไบนารีใน C ซึ่งจะเริ่มต้นในไฟล์ส่วนหัวของโปรแกรม C จะส่งกลับตัวชี้ null เสมอหากไม่สามารถสร้างไฟล์ชั่วคราวได้ ไฟล์ชั่วคราวจะถูกลบโดยอัตโนมัติหลังจากสิ้นสุดโปรแกรม

ไวยากรณ์

FILE *tmpfile(void)

คืนค่า

หากการสร้างไฟล์สำเร็จ ฟังก์ชันจะส่งคืนตัวชี้สตรีมไปยังไฟล์ชั่วคราวที่สร้างขึ้น หากไม่สามารถสร้างไฟล์ได้ ตัวชี้ NULL จะถูกส่งคืน

อัลกอริทึม

Begin.
   Declare an array variable c[] to the character datatype and take a character data string.
   Initialize a integer variable i ← 0.
   Declare a newfile pointer to the FILE datatype.
   Call tmpfile() function to make newfile filepointer as temporary file.
   Call open() function to open “nfile.txt” to perform write operation using newfile file pointer.
   if (newfile == NULL) then
      print “Error in creating temporary file” .
      return 0.
   Print “Temporary file created successfully”.
   while (c[i] != '\0') do
      put all the data of c[] into the filepointer newfile.
      i++.
   Call fclose() function to close the file pointer.
   Call open() function to open “nfile.txt” to perform read operation using newfile file pointer.
   Call rewind() function to set the pointer at the beginning of the stream of the file pointer.
   while (!feof(newfile)) do
      call putchar() function to print all the data of file pointer newfile.
      Call fclose() function to close the file pointer.
End.

ตัวอย่าง

#include <stdio.h>
int main() {
   char c[] = "Tutorials Point";
   int i = 0;
   FILE* newfile = tmpfile(); //make the file pointer as temporary file.
   newfile = fopen("nfile.txt", "w");
   if (newfile == NULL) {
      puts("Error in creating temporary file");
      return 0;
   }
   puts("Temporary file created successfully");
   while (c[i] != '\0') {
      fputc(c[i], newfile);
      i++;
   }
   fclose(newfile);
   newfile = fopen("nfile.txt", "r");
   rewind(newfile); //set the pointer at the beginning of the stream of the file pointer.
   while (!feof(newfile))
   putchar(fgetc(newfile));
   fclose(newfile); //closing the file pointer
}

ผลลัพธ์

Temporary file created successfully
Tutorials Point