getchar函數,定義於C標准庫頭文件中。
int getchar(void)
該函數以無符號char強制轉換為int的形式返回讀取的字符,如果到達文件末尾或發生讀錯誤,則返回EOF。
(EOF是一個計算機術語,為End Of File的縮寫,在操作系統中表示資料源無更多的資料可讀取。資料源通常稱為檔案或串流。通常在文本的最后
存在此字符表示資料結束。C語言中,EOF常被作為文件結束的標志。還有很多文件處理函數處錯誤后的返回值也是EOF,因此常被用來判斷調用一個函數是否成功。)——百度百科
(補充:EOF根本不是一個字符,而是一個表示文件結束的信號,百度百科說錯了。感謝lolilolikon指出)
以下是getchar讀入單個字符的示例:
#include<stdio.h>
int main()
{
int test;
test=getchar();
printf("%d\n",test);
printf("%c\n",test);
return 0;
}
輸入:
a
輸出:
97
a
getchar讀入字符'a',函數返回值為int型,也就是'a'所對應的ASCII碼97,這個97再被賦予到int型變量test中。
下面是getchar讀入一行的例子
#include<stdio.h>
char ch[1005];
int main()
{
int test;
int i=0;
while((test=getchar())!='\n')
{
ch[i]=test;
i++;
}
for(int j=0;j<i;j++)
printf("%c",ch[j]);
return 0;
}
輸入:
abdcd
輸出:
abdcd