字符输入函数

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    // getchar

    /*
    char c;
    c = getchar();    //字符输入函数getchar(),它就是scanf("%c", c)的替代品,除了更加简洁,没有其它优势了

    printf("c:%c\n", c);
    */

    // getche

    /*
    注意,getche() 位于 conio.h 头文件中,而这个头文件是 Windows 特有的,
    Linux 和 Mac OS 下没有包含该头文件。换句话说,
    getche() 并不是标准函数,默认只能在 Windows 下使用,不能在 Linux 和 Mac OS 下使用。
    */
    char c = _getche();    //getche() 就比较有意思了,它没有缓冲区,输入一个字符后会立即读取,
                        //不用等待用户按下回车键,这是它和 scanf()、getchar() 的最大区别。

    printf("c:%c\n", c);


    // getch
    //char c = _getch();

    /*
    getch() 也没有缓冲区,输入一个字符后会立即读取,不用按下回车键,
    这一点和 getche() 相同。getch() 的特别之处是它没有回显,
    看不到输入的字符。所谓回显,就是在控制台上显示出用户输入的字符;
    没有回显,就不会显示用户输入的字符,就好像根本没有输入一样。

    回显在大部分情况下是有必要的,它能够与用户及时交互,
    让用户清楚地看到自己输入的内容。但在某些特殊情况下,
    我们却不希望有回显,例如输入密码,有回显是非常危险的,容易被偷窥。
    */

    printf("c:%c\n", c);


    system("pause");
    return 0;
}

 

posted @ 2018-03-01 16:51  NoThx  阅读(675)  评论(0编辑  收藏  举报