getc()函數(shù)

函數(shù)名: getc

功 能: ? ? 從流中取字符

用 法: ? ? int getc(FILE *stream);//red the next character from stream and return it as an unsigned char cast to a int ,or EOF on end of file or error.

用法補(bǔ)充:在C語言中,用函數(shù)getc(fgetc)從文件讀取字符。getc、fgetc用法相同。

getc的調(diào)用形式:ch=getc(fp);此處的fp是文件指針;

函數(shù)功能是從文件指針指向的文件讀入一個(gè)字符,并把它作為函數(shù)值返回給字符型變量ch。

程序例:

#include <stdio.h>

int main(void)  {

char ch;

printf("Input a character:");  /* read a character from the standard input stream */

ch = getc(stdin);

printf("The character input was: '%c'\n",  ch);

return 0;  }


getchar有一個(gè)int型的返回值.

當(dāng)程序調(diào)用getchar時(shí).程序就等著用戶按鍵.用戶輸入的字符被存放在鍵盤緩沖區(qū)中.直到用戶按回車為止(回車字符也放在緩沖區(qū)中).當(dāng)用戶鍵入回車之后,getchar才開始從stdio流中每次讀入一個(gè)字符.getchar函數(shù)的返回值是用戶輸入的第一個(gè)字符的ASCII碼,如出錯(cuò)返回-1,且將用戶輸入的字符回顯到屏幕.如用戶在按回車之前輸入了不止一個(gè)字符,其他字符會保留在鍵盤緩存區(qū)中,等待后續(xù)getchar調(diào)用讀取.

也就是說,后續(xù)的getchar調(diào)用不會等待用戶按鍵,而直接讀取緩沖區(qū)中的字符,直到緩沖區(qū)中的字符讀完為后,才等待用戶按鍵.

getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待用戶按回車,只要用戶按一個(gè)鍵,getch就立刻返回, getch返回值是用戶輸入的ASCII碼,出錯(cuò)返回-1.輸入的字符不會回顯在屏幕上.

getch函數(shù)常用于程序調(diào)試中,在調(diào)試時(shí),在關(guān)鍵位置顯示有關(guān)的結(jié)果以待查看,然后用getch函數(shù)暫停程序運(yùn)行,當(dāng)按任意鍵后程序繼續(xù)運(yùn)行.getch()是非緩沖輸入函數(shù),就是不能用getch()來接受緩沖區(qū)已存在的字符getch從控制臺無回顯地取一個(gè)字符

#include <stdio.h>

#include <conio.h>

int main(void)  {

char ch;

printf("Input a character:");

ch = getch();

printf("\nYou input a '%c'\n", ch);

return 0;  }

在WINDOWS/MS-DOS中,也可以利用getch()函數(shù)讓程序調(diào)試運(yùn)行結(jié)束后等待編程者按下鍵盤才返回編輯界面,用法:包含conio.h頭文件后,在主函數(shù)結(jié)尾,return 0;之前加上getch();即可  這個(gè)函數(shù)可以讓用戶按下任意鍵而不需要回車就可以接受到用戶的輸入??梢杂脕碜鳛椤皃ress any key to continue”的實(shí)現(xiàn)

---------------------

作者:MaxCentaur

來源:CSDN

原文:https://blog.csdn.net/u012222078/article/details/32911955

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容