- Linux文件
- Linux下的文件類型
- b 塊設備文件---->存儲類設備(硬盤)
- c 字符設備文件--->輸入輸出設備
- d 目錄文件--->文件夾
- - 普通文件--> xxx.c xxx.h xxx.txt xxx.jpg xxx.mp4 a.out
- l 軟鏈接文件-->快捷方式
- s 套接字文件-->網絡通信
- p 管道文件-->進程之間共享數據
- 文件操作思想
- 打開文件
- 讀寫文件
- 關閉文件
- 文件操作的方法
- I :input O :output
- 標準IO
- C庫提供的一套對文件操作的操作方法--->庫函數
- 文件IO
- Linux內核提供的一套對文件操作的操作方法--->系統調用
- 流:字節流
- 文件流:數據從文件流入流出體現出來的字節流
- 標準IO:
- FILE--->文件流
- FILE *--->文件流指針--->已打開文件
- Linux下的文件類型
- 一、標準IO
- 打開文件 fopen
- 讀/寫文件 fgetc/fputc(一個字符的讀寫)、fgets/fputs(一行字符的讀寫)、fread/fwrite
- 關閉文件 fclose
- man手冊
- 第一章節:Linux命令
- 第二章節:系統調用
- 第三章節:庫函數
- fopen:FILE *fopen(const char *pathname, const char *mode)
- 功能:打開一個文件并獲得一個文件流指針
- 參數:
- pathname:打開得文件的文件名地址
- mode:打開的方式
- "r"以只讀的方式打開 文件必須存在
- "r+"以讀寫的方式打開 文件必須存在
- "w"以只寫的方式打開 文件存在則清空 文件不存在則創建
- "w+"以讀寫的方式打開 文件存在則清空 文件不存在則創建
- "a"以追加寫的方式打開 文件不存在創建
- "a+"以讀寫的方式打開 文件不存在創建 文件存在則追寫
- 返回值:成功:文件流指針:FILE *;失敗:NULL
- fputc int fputc(int c,FILE *stream)
- 功能:向文件中寫入一個字符
- 參數:c:要寫入的字符;stream:要寫入的文件的文件流指針
- 返回值:成功:寫入的字符的ASCII值;失敗:EOF(-1)
- fgetc :int fgetc(FILE *stream);
- 功能:從文件中讀取一個字符
- 參數:stream:要讀取的文件的文件流指針
- 返回值:成功:讀到的字符的ASCII值;失敗:EOF;讀到文件末尾:EOF
- fputs : int fputs(const char *s,FILE *stream);
- 功能:向文件中寫入字符串(不會寫入字符
- 參數:s:字符串首地址;stream:要寫入的文件流指針
- 返回值:成功:非負的整形數據;失敗:EOF(-1)
- fgets : char *fgets(char *s,int size,FILE *stream);
- 功能:從文件中讀取一行數據
- 參數:s:用來存放讀取到數據的內存空間首地址; size:希望從文件中讀到的字節數; stream:要讀取的文件流指針
- 返回值:成功:返回s空間的首地址; 失敗:NULL; 讀到文件末尾:NULL
- 二、主函數傳參
- ./a.out aaa bbb --->實參
- int main(int argc,const char *argv[])
- 形參:主函數中的參數
- argc:程序運行時,給主函數傳遞的參數個數 3
- argv:指針數組:argc個指針,分別指向了給主函數傳遞的實參
- argv[0]--->"./a.out"
- argv[1]--->"aaa"
- argv[2]--->"bbb"
- 普通文件:
- 文本文件
- 二進制文件