C語言學習筆記 檔案輸入輸出

2021-10-01 14:58:13 字數 1549 閱讀 7967

用於存放檔案資訊的結構體型別為 file (由系統定義),包含在內。

檔案類別:

(1)程式檔案:內容為程式**。

(2)資料檔案:內容為資料,供程式執行使用。

二進位制檔案:資料以二進位制形式儲存(又稱映像檔案)執行更快

資料的儲存:(1)字元一律以ascⅱ的形式儲存

​ (2)數值型兩種方式都可以:

例如:表示10000

​ 1 0 0 0 0

ascⅱ

00110001

00110000

00110000

00110000

00110000

二進位制00000000

00000000

00100111

00010000

ascⅱ形式占用5位元組,二進位制占用4位元組

為簡化操作,將各種裝置作為檔案來處理:

輸入輸出傳遞的是資料流。

檔案緩衝區:

檔案路徑:

feof(file*p):

eof:

檔案結尾:

fopen:

使用方式

作用若檔案不存在

r(t)

唯讀,不能修改

報錯(返回null)

w(t)

刪除寫(先將原檔案刪除建立乙個新的再寫)

建立檔案

a(t)

接著寫(在檔案末尾新增文字內容)

報錯rb(二進位制)

唯讀,不能修改

報錯wb(二進位制)

刪除寫建立檔案

ab(二進位制)

接著寫報錯

r+讀,寫

報錯w+

讀,刪除寫

建立檔案

a+讀,接著寫

報錯rb+(二進位制)

讀,寫報錯

wb+(二進位制)

讀,刪除寫

建立檔案

ab+(二進位制)

讀,接著寫

報錯帶b與不帶b的區別:

根據轉換需要選擇是否帶b的讀寫方式

輸出資料形式由先前的讀寫語句決定,與輸出方式無關

報錯原因:

函式exit()

fclose:

fgetc:從檔案讀入乙個字元

fputc:將乙個字元寫入檔案總

fgets:向所指檔案讀入乙個長度為n-1的字串

fputs:寫入一行字串

fprintf:

fscanf:

缺點:兩者需要從ascⅱ轉為二進位制儲存在記憶體中,輸出時有需要將二進位制轉化為字元,費時

fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);

size:型別的大小(int 4位元組…)

count:多少個資料

fp:讀取檔案指標

rewind:將游標重新定位於檔案開頭

fseek:改變標記位置

ftell:測定檔案標記的位置

C語言學習 1 3輸入輸出

常使用的鍵盤輸入函式scanf,輸出函式printf,字元輸入函式getchar,字元輸出函式putchar 函式定義 int putchar int ch ch型別可以是int也可以char 例 putchar a 字元輸出 putchar 101 轉移字元輸出 從終端 輸入裝置 輸入乙個字元 函...

C語言學習 輸入輸出與變數

輸入scanf 特殊字元變數 輸出輸入都必須使用佔位符 a,a 讀入乙個浮點值 僅c99有效 c 讀入乙個字元 d 讀入十進位制整數 i 讀入十進位制,八進位制,十六進製制整數 o 讀入八進位制整數 x,x 讀入十六進製制整數 s 讀入乙個字串,遇空格 製表符或換行符結束。f,f,e,e,g,g 用...

C語言學習(二)資料輸入輸出

字元輸入函式 getchar 字元輸出函式 putchar 格式輸入函式 scanf 格式輸出函式 printf 字串輸入函式 gets 字數串輸出函式 puts 字元輸出函式putchar c includevoid main 字元輸入函式getchar includevoid main d 以帶...