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

fopen() สำหรับไฟล์ที่มีอยู่ในโหมดเขียนใน C


วิธี fopen() ใน C ใช้เพื่อเปิดไฟล์ที่ระบุ

มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน

ไวยากรณ์

FILE *fopen(filename, mode)

ต่อไปนี้เป็นโหมดที่ถูกต้องในการเปิดไฟล์โดยใช้ fopen():'r', 'w', 'a', 'r+', 'w+', 'a+' สำหรับรายละเอียด โปรดไปที่ฟังก์ชันไลบรารี C - fopen()

fopen() สำหรับไฟล์ที่มีอยู่ในโหมดเขียน

หากไฟล์ที่จะเปิดไม่มีอยู่ในไดเร็กทอรีปัจจุบัน ไฟล์เปล่าใหม่พร้อมโหมดเขียนจะถูกสร้างขึ้น

หากไฟล์ที่จะเปิดอยู่ในไดเร็กทอรีปัจจุบันและเปิดโดยใช้ 'w' / 'w+' เนื้อหาจะถูกลบก่อนเขียน

ตัวอย่าง

โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา

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

int main(){

   FILE *opFile = fopen("test.txt", "w");
   if (opFile == NULL){

      puts("Couldn't open file");
      exit(0);
   }
   else{

      fputs("includehelp", opFile);
      puts("Write operation successful");
      fclose(opFile);
   }
   return 0;
}

ผลลัพธ์

Write operation successful

เนื้อหาเริ่มต้นของไฟล์ - ภาษาการเขียนโปรแกรม C

เนื้อหาหลังการดำเนินการต่อท้าย − รวมความช่วยเหลือ

การดำเนินการเขียนทำงาน แต่ลบเนื้อหาทั้งหมดที่มีอยู่ในไฟล์ก่อนที่จะดำเนินการเขียน เพื่อแก้ไขปัญหานี้ ภาษาการเขียนโปรแกรม C ได้รับการปรับปรุงเป็นสองแนวทางที่แตกต่างกัน ซึ่งโปรแกรมเมอร์สามารถใช้ได้ตามความต้องการของโปรแกรม

  • โหมด 'a' (ต่อท้าย) - โหมดนี้จะผนวกเนื้อหาใหม่ต่อท้ายเนื้อหาที่เขียนในไฟล์

  • โหมด 'wx' - สิ่งนี้จะคืนค่า NULL หากไฟล์นั้นมีอยู่แล้วในไดเร็กทอรี

ตัวอย่าง

โปรแกรมแสดงการทำงานเขียนบนไฟล์ที่มีอยู่โดยใช้โหมด 'a'

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

int main(){

   FILE *opFile = fopen("test.txt", "a");
   if (opFile == NULL){

      puts("Couldn't open file");
      exit(0);
   }
   else{

      fputs("includehelp", opFile);
      puts("Write operation successful");
      fclose(opFile);
   }
   return 0;
}

ผลลัพธ์

Write operation successful

เนื้อหาเริ่มต้นของไฟล์ - ภาษาการเขียนโปรแกรม C

เนื้อหาหลังการดำเนินการต่อท้าย − ภาษาการเขียนโปรแกรม C รวมความช่วยเหลือ

ตัวอย่าง

โปรแกรมแสดงการเขียนบนไฟล์ที่มีอยู่โดยใช้โหมด 'wx'

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

int main(){

   FILE *opFile = fopen("test.txt", "wx");
   if (opFile == NULL){

      puts("Couldn't open file");
      exit(0);
   }
   else{

      fputs("includehelp", opFile);
      puts("Write operation successful");
      fclose(opFile);
   }
   return 0;
}

ผลลัพธ์

Write operation successful

No