ホームページ >バックエンド開発 >PHPチュートリアル >fgets() 関数 - ファイルが指す行の読み取りの詳細な説明

fgets() 関数 - ファイルが指す行の読み取りの詳細な説明

WBOY
WBOYオリジナル
2023-06-27 09:06:281444ブラウズ

fgets()関数は、C標準ライブラリの関数の一つで、ファイルで指定された行を読み込む関数で、ファイルのデータを1行ずつ読み込むことができるのが特徴です。読み取ったデータは指定したバッファに格納され、指定することができます。 . 読み取りデータの最大長。 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。