我在Windows 8上使用Code :: Blocks 13.12在C中编写程序(C编译器是mingw32-gcc)。我想使用" getline"功能,但它似乎从stdio.h中丢失。除了编写自己的实现之外,还有什么方法可以解决它吗?
答案 0 :(得分:8)
getline
is a POSIX function,Windows不是POSIX,因此它没有一些POSIX C功能可用。
你需要自己动手。或者使用has already been written。
答案 1 :(得分:3)
getline
不是标准的C库函数。某些实现(例如gcc
)将其作为扩展名提供。
如果您正在使用gcc进行编译,则需要定义功能宏_GNU_SOURCE
,以使其可用于您的代码:
#define _GNU_SOURCE
#include <stdio.h>
...
getline (...);
修改强>
希望因为mingw是一个GNU编译器,所以这应该可以在Windows上使用。