开放式fgets的等价函数

时间:2013-02-15 11:20:10

标签: c file stream fopen

使用fopen()我逐行读取文件fgets()

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

char line [1000]; FILE * fpin;

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