1. 程式人生 > >getchar, EOF 以及轉義字元

getchar, EOF 以及轉義字元

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 至此已讀入值的等價字元數   
%[] 掃描字元集合   
%% 讀%符號