如果stdio.h中缺少“getline”函数,在哪里/如何获取?

时间:2014-12-09 14:56:10

标签: c gcc codeblocks getline

我在Windows 8上使用Code :: Blocks 13.12在C中编写程序(C编译器是mingw32-gcc)。我想使用" getline"功能,但它似乎从stdio.h中丢失。除了编写自己的实现之外,还有什么方法可以解决它吗?

2 个答案:

答案 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上使用。