2013-02-15 39 views
0

随着fopen()我一行一行地读取文件fgets()fgets打开的等效函数

是否有像fgets()这样的函数来读取由open()打开的流?

+0

在进一步之前,我建议你看看这个问题[关于打开和打开](http://stackoverflow.com/questions/1658476/c-fopen-vs-open) – JBL 2013-02-15 11:24:33

+0

文档如何? http://linux.die.net/man/3/fgets – LihO 2013-02-15 11:25:31

回答

2

没有这样的功能。问题是,除非你在用户空间中进行缓冲(例如FILE*例程),否则无法有效地实现它:你必须一个接一个地输入read个字符。

在POSIX系统上,您可以使用fdopen围绕文件描述符打包FILE*结构,然后使用fgets

0

您是否正在阅读标准输入?如果是这样的话......

char line [1000]; FILE * fpin;

fpin = stdin; (fgets(line,1000,fpin)!= NULL)printf(“%s”,line);