C语言gets_s, _getws_s函数了解

gets_s  对应头文件<stdio.h>

_getws_s对应头文件<stdio.h> or <wchar.h>


原型:

char *gets_s(char *buffer,size_t sizeInCharacters);

wchar_t *_getws_s(wchar_t *buffer,size_t sizeInCharacters);

与gets函数类似。

_getws is a wide-character version of gets_s; its argument and return value are wide-character strings.

【FROM CSDN】

调用:

gets(buffer) //函数对输入长度不加以限制    //所以在vs中用gets会有警告信息This function or variable may be unsafe.
gets_s(buffer,size)  //其中第二参数就是允许的输入长度     //这里的size是分配buffer-1的长度才正好,否则自动为'\0'分配空间的时候会溢出。

看下面这段代码:

#include <stdio.h>
int main(void)
{
	char buffer[21];   //20 chars + '\0'
	gets_s(buffer,20);  //写成21后,当输入21个字符回车之后,自动添加的'\0',会要求分配存储空间的
	printf("Your input was %s\n",buffer);
	system("pause");
	return 0;
}





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值