C 安全函数
在 C 语言中,为了提高代码的安全性,尤其是防止缓冲区溢出等常见的安全问题,C11 标准引入了一些 "安全函数",也称为 "Annex K" 标准库函数。这些安全函数主要是标准字符串和内存操作函数的增强版本,通过增加参数(如缓冲区大小)来提供更好的错误检测和处理。
安全函数的特点:
缓冲区大小检查:所有的安全函数都要求传入目标缓冲区的大小参数,以防止缓冲区溢出。
返回值检查:大多数函数返回 errno_t 类型的错误代码,可以检查函数是否成功执行。
更好的错误处理:当缓冲区大小不够或出现其他问题时,这些函数会返回错误码,并尝试清空或初始化输出缓冲区。