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

พื้นฐานของการจัดการไฟล์ในC


ที่นี่เราจะเห็นการดำเนินการจัดการไฟล์ขั้นพื้นฐานใน C. การดำเนินการแสดงอยู่ด้านล่าง:

  • การเขียนลงในไฟล์
  • การอ่านจากไฟล์
  • ต่อท้ายไฟล์

เขียนเป็นไฟล์

ดูโค้ดเพื่อให้เข้าใจถึงวิธีที่เราเขียนลงในไฟล์

โค้ดตัวอย่าง

#include <stdio.h>
int main() {
   FILE *fp;
   char *filename = "sample.txt";
   char *content = "Hey there! You've successfully created a file with content in c programming language.";
   /* open for writing */
   fp = fopen(filename, "w");
   if( fp == NULL ) {
      printf("%s: failed to open. \n", filename);
      return -1;
   } else {
      printf("%s: opened in write mode.\n", filename);
   }
   /* Write content to file */
   fprintf(fp, "%s\n", content);
   if( !fclose(fp) )
      printf("%s: closed successfully.\n", filename);
   return 0;
}

ผลลัพธ์

sample.txt: opened in write mode.
sample.txt: closed successfully.

2.การอ่านจากไฟล์

ดูโค้ดเพื่อให้เข้าใจถึงวิธีที่เราอ่านจาก fileMake a file (file_read.txt):

คุณได้เปิดไฟล์โดยใช้ภาษา C ในโหมดอ่านอย่างเดียว

โค้ดตัวอย่าง

#include <stdio.h>
int main() {
   FILE *fp;
   char *filename = "file_read.txt";
   char ch;
   /* open for writing */
   fp = fopen(filename, "r");
   if (fp == NULL) {
      printf("%s does not exists \n", filename);
      return;
   } else {
      printf("%s: opened in read mode.\n\n", filename);
   }
   while ((ch = fgetc(fp) )!= EOF) {
      printf ("%c", ch);
   }
   if (!fclose(fp))
      printf("\n%s: closed.\n", filename);
   return 0;
}

ผลลัพธ์

file_read.txt: opened in read mode.
You have opened a file using C programming language, in read-only mode.
file_read.txt: closed.

3.ต่อท้ายไฟล์

ดูโค้ดเพื่อรับแนวคิดว่าเราจะผนวกบรรทัดต่างๆ ลงในไฟล์ได้อย่างไร

สร้างไฟล์ (file_append.txt)

This text was already there in the file.

โค้ดตัวอย่าง

#include <stdio.h>
int main() {
   FILE *fp;
   char ch;
   char *filename = "file_append.txt";
   char *content = "This text is appeneded later to the file, using C programming.";
   /* open for writing */
   fp = fopen(filename, "r");
   printf("\nContents of %s -\n\n", filename);
   while ((ch = fgetc(fp) )!= EOF) {
      printf ("%c", ch);
   }
   fclose(fp);
   fp = fopen(filename, "a");
   /* Write content to file */
   fprintf(fp, "%s\n", content);
   fclose(fp);
   fp = fopen(filename, "r");
   printf("\nContents of %s -\n", filename);
   while ((ch = fgetc(fp) )!= EOF) {
      printf ("%c", ch);
   }
   fclose(fp);
   return 0;
}

ผลลัพธ์

Contents of file_append.txt -
This text was already there in the file.
Appending content to file_append.txt...
Content of file_append.txt after 'append' operation is -
This text was already there in the file.
This text is appeneded later to the file, using C programming.