C编程从入门到实践
上QQ阅读APP看书,第一时间看更新

6.2.6 C11标准函数gets_s

函数gets_s的功能是,从标准输入设备(stdin)上读取1个字符串(可以包含空格),并将其存储到字符数组中去,并用空字符(\0)代替输入字符串中的换行符。在C11标准之前,此函数名为gets。函数gets_s读取的字符串的长度没有限制,程序员要保证字符数组有足够大的空间,以存放输入的字符串。如果调用成功则返回字符串参数s;如果遇到文件结束或出错,则返回空值。该函数输入的字符串中允许有空格,而函数scanf()则不允许。

使用函数gets的语法格式如下所示。

    gets(字符数组)

实例6-7

询问用户的姓名和身高,最后通过gets_s函数获取输入的信息,然后通过puts函数输出对应的信息

源码路径daima\6\6-7

本实例的实现文件为“gets.c”,具体实现代码如下。

    #include <stdio.h>
    int main(void){
        char str1[24], str2[2];
        printf("What's your name? \n");
        gets(str1); //等待输入字符串直到按Enter键结束
        puts(str1); //输出输入的字符串
        puts("shengao? ");
        gets(str2);
        puts(str2);
    }

拓展范例及视频二维码

范例6-7-01:使用gets函数

源码路径:演练范例\6-7-01\

范例6-7-02:一段有些复杂的程序

源码路径:演练范例\6-7-02\

程序运行后将在窗体内提示输入用户的名字和身高,输入后将在界面中输出指定的字符语句,如图6-9所示。

图6-9 执行结果