getchar, EOF 以及轉義字元
阿新 • • 發佈:2019-02-10
1.在用getchar 和putchar實現檔案複製時:
例如:
int c;
c=getchar();
while(c!=EOF) {
putchar(c);
c=getchar();
}
//這裡c之所以用int型,是因為c必須足夠大存放getchar函式的所有返回值,用char型無法包含EOF!!!!
2. 關於EOF:
EOF不是特殊字元,而是一個定義在標頭檔案stdio.h的常量,一般等於-1。
在 UNIX中, EOF表示能從互動式 shell (終端) 送出 Ctrl+D (習慣性標準)。在微軟的 DOS 與 Windows 中能送出 Ctrl+Z.
相關函式:
int feof(FILE *stream);
返回值 當檔案指標到達檔案結尾時,函式返回非零值,否則返回0.
3.關於%
%a,%A 讀入一個浮點值(僅C99有效)
%c 讀入一個字元
%d 讀入十進位制整數
%i 讀入十進位制,八進位制,十六進位制整數
%o 讀入八進位制整數
%x,%X 讀入十六進位制整數
%s 讀入一個字串,遇空格、製表符或換行符結束。
%f,%F,%e,%E,%g,%G 用來輸入實數,可以用小數形式或指數形式輸入。
%p 讀入一個指標
%u 讀入一個無符號十進位制整數
%n 至此已讀入值的等價字元數
%[] 掃描字元集合
%% 讀%符號