我刚刚发现原来是GNU扩展的getline()
函数现在是POSIX 2008标准的一部分。
是否支持这个POSIX版本支持的广泛概述?
答案 0 :(得分:2)
我会继续使用它。可以将getline
(但不是更强大的getdelim
)实现为围绕fgets
的非常快速/高效的包装器,因此如果您愿意将其作为后备,请使用{ {1}}并没有真正使您的程序不那么便携。 (与使用getline
类似,无法移植实现,并且需要特定于实现的黑客来模拟。)
此外,当然,__fpending
和getline
都可以在getdelim
/ flockfile
和funlockfile
之上实现。它效率不高,但可以在任何地方使用。