用於存放檔案資訊的結構體型別為 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 以帶...