【例6-17】字符串处理函数gets()、gets_s()

C语言提供了丰富的字符串处理函数。
在使用字符串处理函数前,需要在程序开头使用编译预处理命令 #include<string.h>
(一)字符串输入函数 gets()
函数调用格式:gets(str);    //已过时
(新)函数调用格式:gets_s(str,参数)  参数:参数为存储字符串的空间长度
函数功能:在标准输入设备输入一个字符串,以"回车键"结束,并把字符串
          存放到 str 指定的字符数组或存储区域中。
标准输入函数scanf_s(%s)也能实现字符串的输入操作,与gets_s()区别
使用scanf_s(%s)输入字符串时,遇"空格"即结束,即只能输入不带空格的字符串。

//gets_s()函数演示

#include<stdio.h>
#include<string.h>
char main()
{
	char str[30];
  //gets(str);		//warning C4013: “gets”未定义;假设外部返回 int
	/*
	warning C4013原因:gets函数 在 ISO/IEC 9899 2011(C11)标准中已被移除
	函数gets是ANSI C中的函数,其在读取时不检查边界,所以可能造成内存访问越界。
	例如分配了5个字节的空间,但读入了10个字节。
	gets()的安全版本:gets_s(字符数组名,参数)  参数:参数为存储字符串的空间长度
	*/

	gets_s(str, 30);
	printf("%s", str);

	return 0;
}

 //比较:scanf_s(%s)函数,遇空格即结束。

#include<stdio.h>
char main()
{
	char str[30];
	scanf_s("%s", &str, 30);
	printf("%s", str);

	return 0;
}

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值