先決條件: C 中文件處理的基礎知識
C 中的 fopen() 方法是一個庫函數,用於打開文件以執行各種操作,包括讀、寫等以及各種模式。如果文件存在,則打開特定文件,否則會創建一個新文件。語法:
FILE *fopen(const char *file_name, const char *mode_of_operation);
參數:該方法接受兩個字符類型的參數:
- file_name:這是 C 字符串類型並接受需要打開的文件的名稱。
- mode_of_operation:這也是C字符串類型,指的是文件訪問的方式。下麵是 C 的文件訪問模式:
- “r” -搜索文件。以隻讀方式打開文件。如果文件成功打開,則 fopen() 將其加載到內存中並設置一個指向其中第一個字符的指針。如果文件無法打開 fopen() 返回 NULL。
- “w” -搜索文件。如果文件已經存在,則其內容將被覆蓋。如果文件不存在,則會創建一個新文件。如果無法打開文件,則返回 NULL。它創建一個新文件隻用於寫入(無讀取)。
- “a” -搜索文件。如果文件成功打開,則 fopen() 將其加載到內存中並設置一個指向其中最後一個字符的指針。如果文件不存在,則會創建一個新文件。如果無法打開文件,則返回 NULL。該文件僅用於追加(在文件末尾寫入)。
- “r+” -搜索文件。打開供讀取和寫入文件。如果成功打開,fopen()將其加載到內存中,並設置一個指針,它指向它的第一個字符。如果無法打開文件,則返回 NULL。
- “w+” -搜索文件。如果文件存在,則覆蓋其內容。如果文件不存在,則會創建一個新文件。如果無法打開文件,則返回 NULL。 w 和 w+ 的區別在於我們還可以讀取使用 w+ 創建的文件。
- “a+” -搜索文件。如果文件成功打開,fopen() 將其加載到內存中並設置一個指向其中最後一個字符的指針。如果文件不存在,則會創建一個新文件。如果無法打開文件,則返回 NULL。打開文件以進行讀取和追加(在文件末尾寫入)。
返回值:如果執行成功,則該函數用於返回指向 FILE 的指針,否則返回 NULL。
範例1:
C
// C program to illustrate fopen()
#include <stdio.h>
#include <stdlib.h>
int main()
{
// pointer demo to FILE
FILE* demo;
// Creates a file "demo_file"
// with file acccess as write-plus mode
demo = fopen("demo_file.txt", "w+");
// adds content to the file
fprintf(demo, "%s %s %s", "Welcome",
"to", "GeeksforGeeks");
// closes the file pointed by demo
fclose(demo);
return 0;
}
運行以下命令時,將創建一個名為 “demo_file” 的新文件,其內容如下:
Welcome to GeeksforGeeks
範例2:現在,如果我們想查看文件,那麽我們需要運行以下代碼,這將打開文件並顯示其內容。
C
// C program to illustrate fopen()
#include <stdio.h>
int main()
{
// pointer demo to FILE
FILE* demo;
int display;
// Creates a file "demo_file"
// with file acccess as read mode
demo = fopen("demo_file.txt", "r");
// loop to extract every characters
while (1) {
// reading file
display = fgetc(demo);
// end of file indicator
if (feof(demo))
break;
// displaying every characters
printf("%c", display);
}
// closes the file pointed by demo
fclose(demo);
return 0;
}
輸出:
Welcome to GeeksforGeeks
在用C文件處理的其他文章:
相關用法
- C++ btowc()用法及代碼示例
- C++ wcsspn()用法及代碼示例
- C語言 getdate()、setdate()用法及代碼示例
- C語言 Beep()用法及代碼示例
- C語言 showbits()用法及代碼示例
- C語言 getch()用法及代碼示例
- C++ iswprint()用法及代碼示例
- C++ iswgraph()用法及代碼示例
- C++ mbrtoc16()用法及代碼示例
- C++ mbrtoc32()用法及代碼示例
- C++ wmemset()用法及代碼示例
- C++ cauchy_distribution a()用法及代碼示例
- C語言 asctime()、asctime_s()用法及代碼示例
注:本文由純淨天空篩選整理自Chinmoy Lenka大神的英文原創作品 C fopen() function with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。