易百教程

从控制台输入字符串

stdio.h头文件中的gets_s()函数将读取一个完整的文本行作为字符串。
该函数的原型如下:

char *gets_s(char *str, rsize_t n);

此函数最多可将n-1个连续字符读入str指向的内存,直到按Enter键。它附加终止空值'\0',代替换行符。如果在输入期间发生错误,str[0]将被设置为'\0'字符。

示例代码

#define __STDC_WANT_LIB_EXT1__ 1
#include <stdio.h>

int main(void)
{
    char initial[5] = { ' ' };
    char name[80] = { ' ' };

    printf("请输入第一个初始值:  ");
    gets_s(initial, sizeof(initial));
    printf("输入你的名字:  ");
    gets_s(name, sizeof(name));
    if (initial[0] != name[0])
        printf("%s, 输入的初始值有错.\n", name);
    else
        printf("Hi, %s. 你的初始值是正确的,完毕!\n", name);

    system("pause");
    return 0;
}

执行上面示例代码,得到以下结果:

请输入第一个初始值:  abc
输入你的名字:  ahema
Hi, ahema. 你的初始值是正确的,完毕!

使用gets_s()将首字母和名字读取为字符串。gets_s()函数将读取字符,直到读取n-1个字符或按Enter键。
不存储换行符。要保留换行符,请使用fgets()函数。

printf("请输入第一个初始值:  ");
fgets(initial, sizeof(initial), stdin);
printf("输入你的名字:  " );
fgets(name, sizeof(name), stdin);