fgets() 函數是C 標準庫中用於讀取文件指向行的函數之一,其特點是可以按行讀取文件數據,讀取的數據存放在指定的緩衝區中,並且可以指定最大讀取資料的長度。 fgets() 函數通常用於讀取純文字文件,例如讀取文字檔案中每一行的資料。
fgets() 函數的語法如下:
char *fgets(char *str, int n, FILE *stream)
其中,str 是指定的儲存讀取資料的緩衝區,n 是指定最大讀取資料的長度,stream 是指向待讀取文件的指針。 fgets() 函數從指定的檔案中讀取一行數據,數據儲存在緩衝區 str 中,並傳回指向緩衝區的指針,如未讀取到數據或發生錯誤,則傳回 NULL。
下面是示範用fgets() 函數讀取檔案指向行的範例程式:
#include <stdio.h> #define MAX_LEN 100 // 设置最大读取数据的长度 int main(void) { char file_name[100], str[MAX_LEN]; FILE *fp; printf("请输入文件名: "); fgets(file_name, sizeof(file_name), stdin); // 从标准输入读取文件名 if (fp = fopen(file_name, "r")) // 判断文件是否能够打开 { while (fgets(str, MAX_LEN, fp) != NULL) // 循环读取文件每一行数据 { printf("%s", str); // 输出读取的数据 } fclose(fp); // 关闭文件 } else { printf("无法打开指定的文件: %s", file_name); } return 0; }
以上範例程式會開啟使用者輸入的檔案名,循環讀取檔案中的數據,然後輸出每一行的數據。運行程式後,使用者只需輸入要讀取的檔案名,即可輸出該檔案中的每一行資料。
總之,借助 fgets() 函數可以快速、準確地讀取文字檔案的每一行數據,為檔案的處理提供了便利。在使用 fgets() 函數時,請注意防止緩衝區溢出,以及關閉檔案等常規操作。
以上是fgets()函數- 讀取檔案指向的行詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!