C語言fgets函式按行讀取檔案

2021-08-19 18:22:15 字數 1317 閱讀 3878

fgets, fgetws

get a string from a stream.c語言沒有像c++、python語言的getline()函式,無法讀取檔案的某一行。然而,c語言有fgets()函式,該函式返回string型別,關鍵是該函式遇到換行符或eof,則讀取結束。利用這一特點,我們可以設定n為適當的緩衝區大小,即可以實現按行讀取。

char *fgets( char *string, int n, file *stream );

wchar_t *fgetws( wchar_t *string, int n, file *stream );

function required header compatibility 

fgets ansi, win 95, win nt 

fgetws or ansi, win 95, win nt 

for additional compatibility information, see compatibility in the introduction.

libraries

libc.lib single thread static library, retail version 

libcmt.lib multithread static library, retail version 

msvcrt.lib import library for msvcrt.dll, retail version 

return value

each of these functions returns string. null is returned to indicate an error or an end-of-file condition. use feof or ferror to determine whether an error occurred.

parameters

string

storage location for data

n

maximum number of characters to read

stream

#include "staticlib.h"

#include "stdio.h"

#include "string.h"

bool fnshow()

while(!feof(fp)) }

fclose(fp);

return true;

}

按行讀檔案 fgets函式

函式原型 char fgets char buf,int bufsize,file stream 注意 第二個引數是最大讀取位元組數引數 buf 字元型指標,指向用來儲存所得資料的位址。bufsize 整型資料,指明儲存資料的大小。stream 檔案結構體指標,將要讀取的檔案流。eofeof是乙個巨...

c讀取按行讀取檔案

c中沒有getline 這個函式,該函式只存在於c 中。有些人說用gets,但是這個函式是不安全的,gets不知道字串的大小,容易造成溢位的問題。解決方案,使用fgets函式 其關鍵在於在讀出n 1個字元之前,如遇到了換行符或eof,則讀出結束。因此,通過設定適當大小的緩衝區,即可實現讀取一行的功能...

C 讀取檔案 按行讀取

zz c 如何讀取檔案前面說過了 下面以乙個例子來說明如何按行讀取,其實很簡單,就是使用filestream的readline 方法。例如有這樣乙個檔案test.txt,讀取出來顯示在乙個richtextbox中,檔案內容如下 html view plain copy print?諾基亞 n8 摩托...