您的位置:首页 > 编程语言 > C语言/C++

C语言gets_s, _getws_s函数了解

2012-12-11 16:18 288 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: