gcc 要如何才能使用gets_s() 函数
都说 c11 标准删除了 gets() 函数,更换成了gets_s(),但这个gets_s()要怎样才能使用。我用 gcc -std=c11 编译 出现错误: undefined reference to `_imp__gets_s',用不了,反而是gets() 还能用。
哪位大侠告知要如何才能使用gets_s()。 谢谢!! 请参考 http://www.111cn.net/net/c/80288.htm ba21 发表于 2017-6-22 18:35
请参考 http://www.111cn.net/net/c/80288.htm
谢谢!原来是这样。。
"因为目前GCC中还没有完全实现此标准, 因此 gets_s() 函数尚未包含在目前的GNU 工具链中。Clang里也暂时没有增加对 gets_s 的支持。
所以最通用的做法,可能是自己实现一个。 如下是一种实现方式"
char *gets_s(char * str, int num)
{
if (fgets(str, int, stdin) != 0)
{
size_t len = strlen(str);
if (len > 0 && buffer == 'n')
buffer = '';
return buffer;
}
return 0;
} Jinlaips 发表于 2017-6-22 20:13
谢谢!原来是这样。。
"因为目前GCC中还没有完全实现此标准, 因此 gets_s() 函数尚未包含在目前的GNU ...
{:5_106:}
页:
[1]