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 执行结果