วิธี 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