2013-02-15 67 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);