●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

C言語でファイルを読み書き!「ファイル操作(fopen, fclose, fprintf など)」をやさしく解説

C言語では、テキストファイルやバイナリファイルの読み書きが可能です。
その際に使うのが、fopen, fclose, fprintf, fscanf などの関数です。
本記事では、初心者にもわかりやすく、ファイル操作の基本を解説します。

ファイル操作の流れ

  1. ファイルを開く(fopen
  2. データの読み書き(fprintf, fscanfなど)
  3. ファイルを閉じる(fclose

fopen:ファイルを開く

FILE *fp;
fp = fopen("data.txt", "w");  // 書き込み用に開く
    
  • "r":読み込み
  • "w":書き込み(上書き)
  • "a":書き込み(追記)
  • "r+", "w+":読み書き両用

fprintf:ファイルに書き込む

fprintf(fp, "名前:%s\n", "Taro");
fprintf(fp, "年齢:%d\n", 20);
    

fscanf:ファイルから読み取る

char name[20];
int age;

fscanf(fp, "名前:%s\n", name);
fscanf(fp, "年齢:%d\n", &age);
    

scanfに似た使い方ですが、ファイルポインタfpを指定します。

fgets / fputs:1行単位の読み書き

// 書き込み
fputs("Hello, world!\n", fp);

// 読み込み
char line[100];
fgets(line, sizeof(line), fp);
    

fclose:ファイルを閉じる

fclose(fp);
    

ファイルを使い終わったら必ず閉じましょう。
データが保存されなかったり、メモリが無駄に消費されたりする原因になります。

使用例:ファイルへ書き込み

#include <stdio.h>

int main(void) {
    FILE *fp = fopen("output.txt", "w");
    if (fp == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }

    fprintf(fp, "Hello, file!\n");
    fclose(fp);

    return 0;
}
    

使用例:ファイルから読み取り

#include <stdio.h>

int main(void) {
    FILE *fp = fopen("output.txt", "r");
    char buffer[100];

    if (fp == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }

    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
        printf("%s", buffer);
    }

    fclose(fp);
    return 0;
}
    

まとめ

ファイル操作は、データの保存や読み込みを実現する重要な技術です。
基本は「fopenで開く → fprintf/fscanfで操作 → fcloseで閉じる」の3ステップ。
初心者の方は、まずは簡単なテキストの読み書きから慣れていきましょう!