【C言語】fopen_s関数の使い方

この記事では、C言語のfopen_s関数の使い方について詳しく解説します。

fopen_s関数を使用することで、ファイルのオープンやクローズ、エラーハンドリングなど、ファイルの操作に必要な基本的な知識を身につけることができます。

さらに、ファイルの読み込みや書き込みの応用例も紹介します。

初心者の方でもわかりやすく、実際のコード例を交えながら解説していきますので、ぜひご覧ください。

目次から探す

fopen_s関数とは

fopen_s関数は、C言語でファイルを開くための関数です。

この関数を使用することで、ファイルを読み込んだり書き込んだりすることができます。

fopen_s関数の概要

fopen_s関数は、以下のような形式で使用します。


errno_t fopen_s(FILE** pFile, const char* filename, const char* mode);

この関数は、指定されたファイルを指定されたモードで開き、ファイルポインタを取得します。

ファイルが正常に開かれた場合、0が返されます。

エラーが発生した場合、エラーコードが返されます。

fopen_s関数の引数と戻り値

fopen_s関数の引数は以下の通りです。

引数説明
pFileファイルへのポインタを格納する変数へのポインタ。ファイルが正常にオープンされると、この変数にファイルへのポインタが格納されます。
filenameオープンするファイルのパスとファイル名を表す文字列。
modeファイルを開くモードを指定する文字列。以下のいずれかの値を指定します:

一般的なモードとしては、r(読み込みモード)、w(書き込みモード)、a(追記モード)などがあります。

fopen_s関数の戻り値は、エラーコードを表します。

以下のエラーコードが返される可能性があります。

エラーコード説明
0正常終了
EINVAL引数が無効である
EACCESファイルにアクセスできない
EEXISTファイルが既に存在する
ENOENTファイルが存在しない
EROFS読み取り専用ファイルシステムに書き込みを試みた

fopen_s関数の基本的な使い方

ファイルのオープン

fopen_s関数は、指定されたファイルを開き、ファイルポインタを取得するための関数です。

以下は、fopen_s関数の基本的な使い方の例です。


#include <stdio.h>
int main() {
    FILE* file;
    errno_t err;
    // ファイルをオープンする
    err = fopen_s(&file, "sample.txt", "w");
    if (err != 0) {
        printf("ファイルのオープンに失敗しました。\n");
        return 1;
    }
    // ファイルにデータを書き込む
    fprintf(file, "Hello, World!");
    // ファイルをクローズする
    fclose(file);
    return 0;
}

上記の例では、fopen_s関数を使用して、sample.txtという名前のファイルを書き込みモードでオープンしています。

fopen_s関数の第1引数には、ファイルポインタのアドレスを指定します。

第2引数には、オープンするファイルのパスを指定します。

第3引数には、オープンするモードを指定します。

この例では、wと指定しているため、ファイルが存在する場合は上書きされ、存在しない場合は新規作成されます。

ファイルのクローズ

ファイルの操作が終了したら、必ずファイルをクローズする必要があります。

ファイルをクローズすることで、ファイルへのアクセスが終了し、他のプログラムやプロセスがファイルにアクセスできるようになります。

ファイルをクローズするためには、fclose関数を使用します。

以下は、ファイルをクローズする例です。


#include <stdio.h>
int main() {
    FILE* file;
    errno_t err;
    // ファイルをオープンする
    err = fopen_s(&file, "sample.txt", "r");
    if (err != 0) {
        printf("ファイルのオープンに失敗しました。\n");
        return 1;
    }
    // ファイルの内容を読み込む
    char buffer[256];
    fgets(buffer, sizeof(buffer), file);
    printf("ファイルの内容: %s\n", buffer);
    // ファイルをクローズする
    fclose(file);
    return 0;
}

上記の例では、fopen_s関数を使用して、sample.txtという名前のファイルを読み込みモードでオープンしています。

fgets関数を使用して、ファイルの内容を読み込み、その内容を表示しています。

最後に、fclose関数を使用してファイルをクローズしています。

以上が、fopen_s関数の基本的な使い方とファイルのクローズ方法の説明です。

ファイルのオープンとクローズは、ファイル操作において非常に重要な処理ですので、必ず正しく行うようにしましょう。

1 2 3

この記事のページ一覧
  1. 現在のページ
目次から探す