getch()、getche()和getchar()函數
(1) getch()和getche()函數
這兩個函數都是從鍵盤上讀入一個字元。其調用格式為:
getch();
getche();
兩者的區別是: getch()函數不將讀入的字元回顯在顯示螢幕上, 而getche()
函數卻將讀入的字元回顯到顯示螢幕上。
例1:
#include<stdio.h>
main()
{
char c, ch;
c=getch(); /*從鍵盤上讀入一個字元不回顯送給字元變數c*/
putchar(c); /*輸出該字元*/
ch=getche(); /*從鍵盤上帶回顯的讀入一個字元送給字元變數ch*/
putchar(ch);
}
利用回顯和不回顯的特點, 這兩個函數經常用於互動輸入的過程中完成暫停
等功能。
例2:
#include<stdio.h>
main()
{
char c, s[20];
printf("Name:");
gets(s);
printf("Press any key to continue...");
getch(); /*等待輸入任一鍵*/
}
(2) getchar()函數
getchar()函數也是從鍵盤上讀入一個字元, 並帶回顯。它與前面兩個函數
的區別在於: getchar()函數等待輸入直到按斷行符號才結束, 斷行符號前的所有輸入字
符都會逐個顯示在螢幕上。但只有第一個字元作為函數的傳回值。
getchar()函數的調用格式為:
getchar();
例3:
#include<stdio.h>
main()
{
char c;
c=getchar(); /*從鍵盤讀入字元直到斷行符號結束*/
putchar(c); /*顯示輸入的第一個字元*/
getch(); /*等待按任一健*/
}
例4
#include<stdio.h>
main()
{
char c;
while ((c=getchar())!='\n') /*每個getchar()依次讀入一個字元*/
printf("%c",c); /*按照原樣輸出*/
getch(); /*等待按任一健*/
}