●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

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ステップ。
初心者の方は、まずは簡単なテキストの読み書きから慣れていきましょう!

 

C言語関連用語集

−−−−−  C言語  −−−−−

C言語のスタート地点「main関数」とは?初心者向けにやさしく解説

画面に文字を表示する「printf関数」とは?初心者向けにやさしく解説!

ユーザーから値を受け取る「scanf関数」とは?初心者向けにやさしく解説!

データを入れて使いまわす「変数(variable)」とは?C言語の基本をやさしく解説

データの種類を決める「データ型」とは?C言語の基本をやさしく解説!

計算や比較に使う「演算子」とは?C言語の基本を初心者向けにやさしく解説!

条件に応じて動きを変える「if / else」とは?C言語の基本をやさしく解説!

同じ処理を何度も行う「繰り返し処理(for / while / do-while)」をやさしく解説!

処理をまとめて再利用!「関数(function)」とは?C言語の基本をやさしく解説

関数の「答え」を返す!C言語の基本「戻り値(return)」をやさしく解説

アドレスを扱う魔法の道具「ポインタ(pointer)」とは?C言語の基本をやさしく解説

関数に値を渡す2つの方法「値渡し」と「参照渡し」って何?C言語の基本をやさしく解説!

データをまとめて扱う「配列(array)」とは?C言語の基本をやさしく解説!

複数の文字をまとめて扱う「文字列(string)」とは?C言語の基本をやさしく解説!

異なるデータをまとめて管理!C言語の「構造体(struct)」をやさしく解説

1つのメモリを共有する「共用体(union)」とは?C言語の特徴的な機能をやさしく解説!

状態や選択肢を名前で管理!C言語の「列挙型(enum)」をやさしく解説

ポインタでメモリを自在に操る!C言語の「ポインタ演算」をやさしく解説

実は似ている!?C言語の「ポインタと配列の関係」をやさしく解説!

必要な分だけメモリを使う「動的メモリ確保(malloc / free)」とは?C言語の基本をやさしく解説!

C言語でよく使う「標準ライブラリ(stdio.h, stdlib.h, string.h)」をやさしく解説!

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

コードの中でよく使う「マクロ(#define)」とは?C言語の基本をやさしく解説!

C言語の裏側で活躍する「プリプロセッサ(#include, #ifdef など)」とは?

プログラムを実行できる形に変換!「コンパイル(gccなど)」とは?C言語の基本をやさしく解説

複数の部品をひとつにまとめる!「リンカ(linker)」とは?C言語の基本をやさしく解説

初心者が知っておきたい「エラーと警告」の基本(コンパイルエラー・実行時エラーなど)

ポインタの初期化と安全確認に!「NULLポインタ」とは?C言語の基本をやさしく解説

プログラムのメモリの仕組み「スタック / ヒープ」とは?C言語の基本をやさしく解説!

数値をビット単位で操作する!「ビット演算(&、|、^、~、<<、>>)」をやさしく解説