檔案使用方式 意義
「rt」 唯讀開啟乙個文字檔案,只允許讀資料
「wt」 只寫開啟或建立乙個文字檔案,只允許寫資料
「at」 追加開啟乙個文字檔案,並在檔案末尾寫資料
「rb」 唯讀開啟乙個二進位制檔案,只允許讀資料
「wb」 只寫開啟或建立乙個二進位制檔案,只允許寫資料
「ab」 追加開啟乙個二進位制檔案,並在檔案末尾寫資料
「rt+」 讀寫開啟乙個文字檔案,允許讀和寫
「wt+」 讀寫開啟或建立乙個文字檔案,允許讀寫
「at+」 讀寫開啟乙個文字檔案,允許讀,或在檔案末追加資料
「rb+」 讀寫開啟乙個二進位制檔案,允許讀和寫
「wb+」 讀寫開啟或建立乙個二進位制檔案,允許讀和寫
「ab+」 讀寫開啟乙個二進位制檔案,允許讀,或在檔案末追加資料
對於檔案使用方式有以下幾點說明:
1)檔案使用方式由r,w,a,t,b,+六個字元拼成,各字元的含義是:
r(read): 讀
w(write): 寫
t(text): 文字檔案,可省略不寫
b(banary): 二進位制檔案
+: 讀和寫
2)凡用「r」開啟乙個檔案時,該檔案必須已經存在,且只能從該檔案讀出。
3)用「w」開啟的檔案只能向該檔案寫入。若開啟的檔案不存在,則以指定的檔名建立該檔案,若開啟的檔案已經存在,則將該檔案刪去,重建乙個新檔案。
4)若要向乙個已存在的檔案追加新的資訊,只能用「a」方式開啟檔案。但此時該檔案必須是存在的,否則將會出錯。
5)在開啟乙個檔案時,如果出錯,fopen將返回乙個空指標值null。在程式中可以用這一資訊來判別是否完成開啟檔案的工作,並作相應的處理。因此常用以下程式段開啟檔案:
6)if((fp=fopen("c:\\hzk16","rb")==null)
這段程式的意義是,如果返回的指標為空,表示不能開啟c盤根目錄下的hzk16檔案,則給出提示資訊「error on open c:\ hzk16 file!」,下一行getch()的功能是從鍵盤輸入乙個字元,但不在螢幕上顯示。在這裡,該行的作用是等待,只有當使用者從鍵盤敲任一鍵時,程式才繼續執行,因此使用者可利用這個等待時間閱讀出錯提示。敲鍵後執行exit(1)退出程式。
7)把乙個文字檔案讀入記憶體時,要將ascii碼轉換成二進位製碼,而把檔案以文字方式寫入磁碟時,也要把二進位製碼轉換成ascii碼,因此文字檔案的讀寫要花費較多的轉換時間。對二進位制檔案的讀寫不存在這種轉換。
8)標準輸入檔案(鍵盤),標準輸出檔案(顯示器),標準出錯輸出(出錯資訊)是由系統開啟的,可直接使用。
對檔案的讀和寫是最常用的檔案操作。在c語言中提供了多種檔案讀寫的函式:
•字元讀寫函式 :fgetc和fputc
•字串讀寫函式:fgets和fputs
•資料塊讀寫函式:freed和fwrite
•格式化讀寫函式:fscanf和fprinf
下面分別予以介紹。使用以上函式都要求包含標頭檔案stdio.h。
讀檔案操作
#include
//#include"conio.h"
main()
ch=fgetc(fp);
while(ch!=eof)
fclose(fp);
}
寫檔案操作
#include
main()
printf("input a string:");
ch=getchar();
while(ch!='\n')
rewind(fp); //把檔案內部位置指標移到檔案頭
ch=fgetc(fp);
printf("ch:%c",ch);
printf("you input is:");
while(ch!=eof)
printf("\n");
fclose(fp);
}
/*把命令列引數的前乙個檔名標識的檔案複製到後乙個,若只有乙個檔案則列印出來*/
#include
main(int argc,char *argv)
if((fp1=fopen(argv[1],"rt"))==null)
if(argc==2) fp2=stdout;
else if((fp2=fopen(argv[2],"wt++"))==null)
while((ch=fgetc(fp1))!=eof)
fputc(ch,fp2);
fclose(fp1);
fclose(fp2);
}
/*從檔案中讀入乙個含有十個字元的字串*/
#include
main()
fgets(str,11,fp);
printf("\n%s\n",str);
fclose(fp);
}
/*建立檔案追加字串*/
#include
main()
printf("input a string:");
scanf("%s",st);
fputs(st,fp);
rewind(fp);
ch=fgetc(fp);
while(ch!=eof)
printf("\n");
fclose(fp);
}
c語言程式設計基礎之檔案操作(二)
資料塊讀寫函式fread和fwtrite 語言還提供了用於整塊資料的讀寫函式。可用來讀寫一組資料,如乙個陣列元素,乙個結構變數的值等。讀資料塊函式呼叫的一般形式為 fread buffer,size,count,fp 寫資料塊函式呼叫的一般形式為 fwrite buffer,size,count,f...
C語言基礎之檔案
意義 解決多檔案編譯模組化的問題 格式 main 目標 main.0 依賴 乙個tab gcc main.o o main 命令 makefile檔名必須為makefile或者makefile,其餘檔名要使用make f 檔名命令告訴系統去哪找makefile檔案 gcc命令 gcc c 編譯到目標...
c基礎 之 檔案及其操作
首先要定義乙個檔案指標型別,格式為 file 檔案指標名 file fp fp就是定義的檔案指標 開啟檔案fopen 函式,格式 fp fopen 檔名 開啟方式 fp fopen c myfile r 開啟方式下文會講到 檔名中不允許直接使用路徑描述符 必須用轉義字元的形式 中第乙個 是轉義字元,...