首頁  >  文章  >  後端開發  >  fgets()函數- 讀取檔案指向的行詳解

fgets()函數- 讀取檔案指向的行詳解

WBOY
WBOY原創
2023-06-27 09:06:281377瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn