`

转:getch()、getche()和getchar()函数

阅读更多
转帖: 

这个问题,
谭浩强的C语言设计第二版没有讲清楚,或者没有讲。
 
查了查其它的资料,总算搞清楚了。
 

getch()、getche()和getchar()函数  

(1) getch()和getche()函数  

这两个函数都是从键盘上读入一个字符。
其调用格式为:  
getch();  
getche(); 
 
两者的区别是: getch()函数不将读入的字符回显在显示屏幕上,
 而getche()  
函数却将读入的字符回显到显示屏幕上。  

例1:  
#include  
main()  

{  
char c, ch;  

c=getch(); /*从键盘上读入一个字符不回显送给字符变量c*/ 
 
putchar©; /*输出该字符*/ 
 
ch=getche(); /*从键盘上带回显的读入一个字符送给字符变量ch*/ 
 
putchar(ch);  

}  

利用回显和不回显的特点, 这两个函数经常用于交互输入的过程中完成暂停  
等功能。
  
例2:  
#include  
main()  
{ 
     
char c, s[20];  

    printf("Name:");  
      
gets(s);  
     
printf("Press any key to continue..."); 
     
getch(); /*等待输入任一键*/  
}  
    

(2) getchar()函数  
    
getchar()函数也是从键盘上读入一个字符, 并带回显。
  它与前面两个函数  
的区别在于: getchar()函数等待输入直到按回车才结束, 
  回车前的所有输入字  
符都会逐个显示在屏幕上。但只有第一个字符作为函数的返回值。
  
getchar()函数的调用格式为:  
getchar(); 
 
例3:  
#include  
main()  
{ 
 
char c;  
c=getchar(); /*从键盘读入字符直到回车结束*/ 
 
putchar©; /*显示输入的第一个字符*/ 
 
getch(); /*等待按任一健*/  
}
 
例4 
#include  
main()  
{ 
 
char c; 
 
while ((c=getchar())!='\n') /*每个getchar()依次读入一个字符*/ 

printf("%c",c); /*按照原样输出*/ 

getch(); /*等待按任一健*/ 
 
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics