C讀寫檔案, C讀寫二進位制檔案

2021-09-02 05:55:41 字數 2047 閱讀 6160

c提供讀寫字串的函式原型在stdio.h標頭檔案中,其函式形式為:

char *fgets(char *str,int num,file *stream)

fgets() 函式從流檔案stream中讀取至多num-1個字元,並把它們放入str指向的字元陣列中。讀取字元直到遇見回車符或e o f(檔案結束符)為止,或讀入了所限定的字元數。

int fputs(char *str,file *stream)

fputs( )函式將str指向的字串寫入流檔案。操作成功時,函式返回0值,失敗返回非零值。

int fgetc(file *stream)

fgetc()函式從輸入流的當前位置返回乙個字元,並將檔案指標指示器移到下乙個字元處,如果已到檔案尾,函式返回eof,此時表示本次操作結束,若讀寫檔案完成,則應關閉檔案。

int fputc(int ch,file *stream)

fputc()函式完成將字元c h的值寫入所指定的流檔案的當前位置處,並將檔案指標後移一位。fputc()函式的返回值是所寫入字元的值,出錯時返回eof。

[例2]

#include

main(argc,argv)

int argc;

char *argv;             //什麼變數宣告形式??

while ((ch=fgetc(fp))!=eof) /* 從檔案讀一字元,顯示到螢幕*/

putchar(ch);

fclose(fp); }

[例3] 從鍵盤輸入字元,存到磁碟檔案test3.txt中:

#include

#include

#include //for exit(0);

main()

while ((ch=fgetchar())!='\n')        /*寫入檔案乙個字元*/

fclose(fp); }

#include

#include

#include

main( )

while((strlen(gets(str)))!=0)

fclose(fp); /*關檔案*/ }

執行該程式,從鍵盤輸入長度不超過1 2 7個字元的字串,寫入檔案。如串長為0,即空串,程式結束。

輸入:hello!

how do you do

good-bye!

結果:hello!

how do you do

good-bye!

這裡所輸入的空串,實際為一單獨的回車符,其原因是gets函式判斷串的結束是以回車作標誌的。

[例8-5] 從乙個文字檔案test1.txt中讀出字串,再寫入令乙個檔案test2.txt。

#include

#include

#include

main( )

if((fp2=fopen("test2.txt","w"))==null)

while ((strlen(fgets(str,128,fp1)))>0)

/*從檔案中讀回的字串長度大於0 */

} c讀寫二進位制檔案

fread宣告:

size_t fread (void * buffer, size_t size, size_t count, file * stream);

例:複製乙個***檔案

#include

#include

#include

void main()

temp[1023]='\0';

while(!feof(fp))

fclose(fp);

fclose(fpw); }

用fread(temp,1024,1,fp)也能讀出,意思是乙個元素的大小是1024個位元組,每次讀取乙個,這在讀取前面內容時沒問題,當讀到最後,加入只剩下100個位元組的資料,不足1024位元組時,程式返回0,你無法知道程式最後一次讀出了多少資料。如果用 fread(temp,1,1024,fp),則程式每次返回讀出資料的位元組數,即使讀最後100個位元組時,也返回100,這樣你可以利用返回值知道程式讀出了多少資料。

C 讀寫二進位制檔案

摘要 使用c 讀寫二進位制檔案,在開發中操作的比較頻繁,今天有幸找到一篇文章,遂進行了一些試驗,並進行了部分的總結。使用c 操作檔案,是研發過程中比較頻繁的,因此進行必要的總結和封裝還是十分有用的。今天在網上找到一篇,遂進行了部分的試驗,以記之,備後用。include 寫二進位制檔案 寫二進位制檔案...

c 讀寫二進位制檔案

最近需要用到二進位制檔案讀寫的相關操作,這邊稍微總結下,首先二進位制檔案的讀寫可以使用fread和fwrite來處理。fread函式原型 size t cdecl fread void size t,size t,file 第乙個引數表示的是快取,第二個引數表示的是基本單元的大小,第三引數表示的是基...

C 二進位制檔案讀寫

今天終於弄明白怎樣使用c 讀寫二進位制檔案了。要讀取檔案必須包含標頭檔案,這裡包含了c 讀寫檔案的方法。可以使用fstream類,這個類可以對檔案進行讀寫操作。1 開啟檔案。可以寫檔案了,讀檔案就好辦多了。讀檔案需要用到read函式。其引數和write大致相同,read const char ch,...