手动实现 gets_s 函数

这两天看到再C11标准中,对于 gets 函数说了一些危险,并推荐使用 gets_s 函数。

但在早期的编译器上还是不支持 gets_s函数的,这样可以自己实现一个 gets_s 函数。

char *gets_s(char * buffer, int num) 	//gets_s函数gets_s手工实现 
{	
    if (fgets(buffer, num, stdin) != 0)
    {
        size_t len = strlen(buffer);
        if (len > 0 && buffer[len-1] == '\n')
            buffer[len-1] = '\0';
        return buffer;
    }
    return NULL;
}

 

你可能感兴趣的:(c语言)