C語(yǔ)言怎么實(shí)現(xiàn)逐行讀取

小億
422
2023-09-14 18:58:27

在C語(yǔ)言中,可以使用fgets()函數(shù)來(lái)逐行讀取文件中的內(nèi)容。fgets()函數(shù)的原型如下:

char *fgets(char *str, int n, FILE *stream);

其中,str是一個(gè)指向字符數(shù)組的指針,用于存儲(chǔ)讀取的內(nèi)容;n是最大讀取的字符數(shù);stream是指向FILE結(jié)構(gòu)體的指針,表示要讀取的文件。

以下是一個(gè)簡(jiǎn)單的示例代碼,用于逐行讀取文件并打印每一行的內(nèi)容:

#include <stdio.h>
int main() {
FILE *file = fopen("test.txt", "r"); // 打開文件,以只讀方式打開
if (file == NULL) {
printf("無(wú)法打開文件\n");
return 1;
}
char line[100]; // 存儲(chǔ)讀取的每一行內(nèi)容的字符數(shù)組
while (fgets(line, sizeof(line), file) != NULL) { // 逐行讀取文件內(nèi)容
printf("%s", line);
}
fclose(file); // 關(guān)閉文件
return 0;
}

上述代碼中,使用fopen()函數(shù)打開一個(gè)名為’test.txt’的文件并以只讀方式打開。如果文件打開失敗,則輸出"無(wú)法打開文件"并返回1。然后使用fgets()函數(shù)逐行讀取文件內(nèi)容,將每一行的內(nèi)容存儲(chǔ)到line字符數(shù)組中,并使用printf()函數(shù)打印出來(lái)。最后使用fclose()函數(shù)關(guān)閉文件。

0