(1) getch()和getche()函數
這兩個函數都是從鍵盤上讀入一個字符。其調用格式爲:
getch();
getche();
兩者的區別是:getch()函數不將讀入的字符回顯在顯示屏幕上,而getche() 函數卻將讀入的字符回顯到顯示屏幕上。
例1:
#include"stdio.h"
#include"conio.h"
void main()
{
char c, ch;
c=getch(); /*從鍵盤上讀入一個字符不回顯送給字符變量c*/
putchar(c); /*輸出該字符*/
ch=getche(); /*從鍵盤上帶回顯的讀入一個字符送給字符變量ch*/
putchar(ch);
}
利用回顯和不回顯的特點, 這兩個函數經常用於交互輸入的過程中完成暫停等功能。
例2:
#include"stdio.h"
#include"conio.h"
void main()
{
char s[20];
printf("Name:");
gets(s);
printf("Press any key to continue...");
getch(); /*等待輸入任一鍵*/
}
(2) getchar()函數
getchar()函數也是從鍵盤上讀入一個字符, 並帶回顯。它與前面兩個函數的區別在於: getchar()函數等待輸入直到按回車才結束, 回車前的所有輸入字符都會逐個顯示在屏幕上。但只有第一個字符作爲函數的返回值。
例3:
#include"stdio.h"
#include"conio.h"
void main()
{
char c;
c=getchar(); /*從鍵盤讀入字符直到回車結束*/
putchar(c); /*顯示輸入的第一個字符*/
getch(); /*等待按任一健*/
}
例4:
#include"stdio.h"
#include"conio.h"
void main()
{
char c;
while ((c=getchar())!='/n') /*每個getchar()依次讀入一個字符*/
printf("%c",c); /*按照原樣輸出*/
getch(); /*等待按任一健*/
}
編程中,以防程序運行一閃即失,總是要在最後來一個“getch();”
getch()和getche()需要"conio.h"
附:
getch 從鍵盤無回顯地讀一字符
調用格式 #include"stdio.h"
int getch(void);
原型在 conio.h
說明 getch從鍵盤直接讀一個字符,不回顯到屏幕上。
返回值 getch返回從鍵盤所讀的字符。
可移植性 getch只適用於DOS
getchar 從stdin流中取字符
調用格式 #include"conio.h"
int getchar(void);
原型在 stdio.h
說明 getchar是一個宏,用於返回指定的stdin輸入流的下一個字符, 它定義爲getc(stdin)。
返回值 調用成功時,getchar返回所讀的字符,它已被轉換爲無符號擴展的整形值。在遇到文件結束或出錯時,返回EOF。
可移植性 getchar適用於UNIX系統,在ANSI C中定義,與Kernighan和Ritchie的定義兼容
轉自:http://hi.baidu.com/%D7%AA%C5%EE/blog/item/15dcf3bfca978b0819d81ff9.html