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'分配空间的时候会溢出。
看下面这段代码:
_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; }
相关文章推荐
- C语言gets函数了解
- C语言的字符串输入gets()函数
- 一分钟了解“C语言中在函数名或关键字前加下划线”
- C语言 gets()和scanf()函数的区别
- 深入了解scanf()/getchar()和gets()/cin等函数
- C语言中scanf函数和gets函数在输入字符串时的区别
- 深入了解scanf()/getchar()和gets()/cin等函数
- 深入了解scanf/getchar/gets/cin等函数(转载)
- C语言 gets(),puts()函数
- 深入了解scanf/getchar/gets/cin等函数
- C语言-- gets()和scanf()函数的区别
- C语言 gets()和scanf()函数的区别
- (转)深入了解scanf()/getchar()和gets()/cin等函数
- 【转载】深入了解scanf()/getchar()和gets()等函数,C++系列教程,C++实例教程,C++
- C语言 gets()和scanf()函数的区别
- 深入了解scanf() getchar()和gets()等函数之间的区别
- C语言 gets()和scanf()函数的区别
- 字符串处理函数gets()、puts()、strcmp()、strlen()、strcpy()、strcat()-C语言
- C/C++学习笔记1 - 深入了解scanf()/getchar()和gets()等函数
- C_字符读取函数scanf、getchar、gets深入了解