字符输入函数

#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;
}

 

转载于:https://www.cnblogs.com/nothx/p/8489272.html

1. getchar()函数:从标准输入读取一个字符(包括空格、制表符、回车符等),返回值为int类型,表示读取到的字符的ASCII码值。 2. scanf()函数:格式化输入函数,可以读取各种数据类型,包括字符型。使用%s格式控制符读取字符串时,会自动忽略前面的空格和制表符,直到遇到第一个非空格字符为止。 3. gets()函数:读取一行字符串,包括空格和制表符,直到遇到回车符为止。该函数不安全,容易发生缓冲区溢出,已经被废弃。 4. fgets()函数:读取一行字符串,包括空格和制表符,读取的最大字符数由第二个参数指定,读取到的字符串会自动添加一个结束符'\0'。该函数比gets()更安全,可以避免缓冲区溢出。 5. getc()函数:从指定文件中读取一个字符,返回值为int类型,表示读取到的字符的ASCII码值。该函数与getchar()函数类似,但可以从指定文件中读取字符。 6. fgetc()函数:从指定文件中读取一个字符,返回值为int类型,表示读取到的字符的ASCII码值。该函数与getc()函数类似,但是可以指定读取哪个文件。 7. getchar_unlocked()函数:与getchar()函数类似,但是不进行线程锁定,因此速度更快。 8. getw()函数:从指定文件中读取一个整数,返回值为int类型,表示读取到的整数。该函数通常用于读取二进制文件。 9. scanf_s()函数:安全的格式化输入函数,可以读取各种数据类型,包括字符型。与scanf()函数类似,但可以指定读取的最大字符数,避免缓冲区溢出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值