getch(),getche(),getchar()的区别[转]

 
古城
@ 2007.08.28
分类:技术笔记
点击:2350  评论:0
 
 
 
    这个问题,谭浩强的C语言设计第二版没有讲清楚,或者没有讲。
查了查其它的资料,总算搞清楚了。

 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(); /*等待按任一健*/ 
     }
 
 
 
 
 

本文评论

 
 

发表评论

你的评论
← 填你的昵称
以下内容非必填,可根据需要填写
← 可以展示在你的评论上方
← 不会在页面展示
← 不会在页面展示
← 只给我看?勾选上
这是一个别人称之为角落的世界
幸而,它的确是我的世界