一次讀寫乙個字元 fgetc fputc

2021-08-13 10:22:54 字數 1016 閱讀 3478

#include "stdafx.h"

#if 0

寫往往比較簡單,讀略微複雜一些,需要判斷何時讀到檔案結尾

所有對檔案的讀,進行判檔案結尾都通過相應函式的返回值(eof)

來進行判斷,盡量少用feof();

文字操作:

----寫入乙個字元 char fputc ( char ch, file * stream );

//寫入成功,返回寫入成功字元 如果失敗,返回 eof

----輸出乙個字元 char fgetc ( file * stream );

//正常,返回讀取的字元 讀到檔案尾或出錯時,為 eof

#endif

int _tmain(int argc, _tchar* argv)

for (char ch = 'a'; ch <= 'z'; ch++)

rewind(fp); //將緩衝區中當前讀寫指標移動到檔案開始

char ret;

while ((ret = fgetc(fp)) != eof) //賦值運算子=優先順序低於!=所以需要加()

printf("ret=%c\n",ret);

//while中會多讀乙個來判斷是不是eof

//while中已經讀到空了 只是沒有列印出來

return 0;

}

#if 0

int feof(file* fp); 到達檔案結尾返回真1,未到達檔案結尾返回假0

feof 依據的是檔案標誌位,進行判斷結束的

標誌位的置位,總是滯後於讀,所以feof的邏輯是先讀後判斷

因為是先讀取資料結尾後,標誌位才發生改變

如果先判斷標誌位,則會多列印乙個

while (!feof(fp))

所以需要按照下面這樣來寫, 先進行讀取再判斷標誌位

while (ret = fgetc(fp) && (!feof(fp)))

#endif

乙個字元驅動

實現乙個基本框架 define notice fmt,args.printk kern notice scull fmt,args define error fmt,args.printk kern err scull fmt,args static init int scull init void...

c c ,輸入乙個字元

getch getche 和getchar 函式 1 getch 和getche 函式 這兩個函式都是從鍵盤上讀入乙個字元。其呼叫格式為 getch getche 兩者的區別是 getch 函式不將讀入的字元回顯在顯示螢幕上,而getche 函式卻將讀入的字元回顯到顯示螢幕上。例1 include ...

等等是乙個字元

在使用字串的過程中,我們經常會用到轉義字元,如 等等。對字串中的轉義字元進行操作時,有可能會誤認為這是兩個字元,需要我們根據轉義的定義,將這兩個字元轉換為乙個字元。其實完全不需要,因為對字串進行操作時,計算機自動地將它們識別為乙個字元。include stdio.h int my print str...