我們在工作中,經常會處理文件,如果一門編程語言不能處理文件,那這個語言就顯得比較雞肋了,今天我們來看看如何用C語言處理文件~
文件類型
在C語言中,數據分為程序數據和普通數據,同樣的存儲這樣數據我們可以稱之為程序文件和數據文件。
程序文件:源文件(*.c),頭文件(*.h),目標文件(*.obj),可執行文件(*.exe)等等。
數據文件:文本文件(*.txt),二進制文件(*.bin)等等
文件操作
文件操作主要包括打開、關閉,輸入、輸出,文件指針定位,判斷文件讀寫結束等,這些都是一些函數,相對來說,比較簡單。
操作文件通過文件指針,類型為FILE *,下面主要通過實例來學習文件操作。
open & close
文件打開和關閉是兩個函數,所在頭文件是stdio.h:
FILE *fopen( const char *restrict filename, const char *restrict mode );
功能:打開filename所指示的文件,并返回指向關聯到該文件的文件流的指針。 mode 用于確定文件訪問模式,常用的模式"r"或者"w",分別表示讀和寫,還有其他模式,想了解的同學可以參考https://c-cpp.com/c/io/fopen.html。
int fclose( FILE *stream );
功能:關閉給定的文件流。沖入任何未寫入的緩沖數據到 OS 。舍棄任何未讀取的緩沖數據。
下面我們通過實例來看一下。
#include <stdio.h> #include <stdlib.h> int main(void) { FILE* fp = fopen("test.txt", "r"); if(!fp) { perror("File opening failed"); return EXIT_FAILURE; } else { printf("File open successed\n"); } fclose(fp); return 0; }input & output
文件輸入、輸出有多個函數,我們主要分為兩類:文本文件、二進制文件的輸入輸出操作。
文本文件
從文件輸出:
int fgetc( FILE *stream );
char *fgets(char *str, int count, FILE *stream );
int fscanf(FILE \*File, const char *Format, ...);
int vfscanf(FILE *stream, const char *format, va_list ap);
向文件輸入:
int fprintf(FILE *filename, const char *string, ...);
int vfprintf(FILE *stream, const char *format, va_list arg);
#include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { FILE* fp = NULL; fp = fopen("test.txt","w+"); fprintf(fp,"%d,%x,%o",16,16,16); fclose(fp); fp =NULL; int num1, num2, num3; fp = fopen("test.txt","r"); if (fp) { fscanf(fp,"%d,%d,%d", &num1, &num2, &num3); } printf("num1:%d\nnum2:%d\nnum3:%d\n", num1, num2, num3); fclose(fp); return 0; } 結果: num1:16 num2:10 num3:20
以上就是“c語言如何利用計算機編程處理文件?(c語言怎么操作文件)”的詳細內容,想要了解更多C語言教程歡迎持續關注編程學習網
掃碼二維碼 獲取免費視頻學習資料
- 本文固定鏈接: http://www.wangchenghua.com/post/9769/
- 轉載請注明:轉載必須在正文中標注并保留原文鏈接
- 掃碼: 掃上方二維碼獲取免費視頻資料