来自GNU C 编程教程:
(
fgets"file get string") 函数类似于gets 函数。此功能已弃用——这意味着它已过时,强烈建议您不要使用它——因为它很危险。这很危险,因为如果输入数据包含空字符,您无法分辨。fgets除非您知道数据不能包含空值,否则不要使用。不要使用它来读取用户编辑的文件,因为如果用户插入空字符,您应该正确处理它或打印明确的错误消息。如果可以,请始终使用getlineorgetdelim代替。fgets
我认为fgets函数在遇到\0or时会停止\n;为什么本手册页建议在fgets正确处理输入时空字节是“危险的”?getline此外,和之间有什么区别fgets,该功能在C99或未来的 C 标准中是否fgets真正被视为已弃用?