0Pricing
C Academy · レッスン

バイナリファイルの扱い方

freadとfwriteを使って、テキスト以外のデータを扱う方法を理解します

「バイナリファイルの扱い方」はCoddyKit上の無料C Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C Academyコースには全3レッスンが含まれています。

バイナリファイルの概要

バイナリファイルの操作

バイナリファイルはデータを生の形式で保存するため、テキストに変換せずに効率よく読み書きできます。

このレッスンでは、次のことを学びます。

  • fwrite()を使ってバイナリファイルにデータを書き込む方法
  • fread()を使ってバイナリファイルからデータを読み込む方法
  • バイナリファイルとテキストファイルの操作方法の違い
バイナリファイルの扱い方 — イラスト1

バイナリファイルを開く

バイナリファイルを開く

バイナリファイルは、bを含むモードを指定してfopen()関数で開きます。

例:

FILE *filePtr = fopen("data.bin", "wb");

このコードは、data.binをバイナリモードで書き込み用に開きます。

バイナリファイルへの書き込み

バイナリファイルへの書き込み

fwrite()関数は、バイナリデータをファイルに書き込みます。

構文:

fwrite(&data, size, count, filePtr);

例:

fwrite(&num, sizeof(int), 1, filePtr);

これにより、整数がファイルに書き込まれます。

例: バイナリファイルへの書き込み

例: バイナリファイルへの書き込み

このプログラムでは、整数をバイナリファイルに書き込む方法を示します。

#include <stdio.h>

int main() {
    FILE *filePtr = fopen("data.bin", "wb");
    if (filePtr == NULL) {
        printf("Error opening file!\n");
        return 1;
    }
    int num = 42;
    fwrite(&num, sizeof(int), 1, filePtr);
    fclose(filePtr);
    return 0;
}

バイナリファイルからの読み込み

バイナリファイルからの読み込み

fread()関数は、ファイルからバイナリデータを読み込みます。

構文:

fread(&data, size, count, filePtr);

例:

fread(&num, sizeof(int), 1, filePtr);

これにより、ファイルから整数が読み込まれます。

例: バイナリファイルからの読み込み

例: バイナリファイルからの読み込み

このプログラムでは、バイナリファイルから整数を読み込む方法を示します。

#include <stdio.h>

int main() {
    FILE *filePtr = fopen("data.bin", "rb");
    if (filePtr == NULL) {
        printf("Error opening file!\n");
        return 1;
    }
    int num;
    fread(&num, sizeof(int), 1, filePtr);
    printf("Number read from file: %d\n", num);
    fclose(filePtr);
    return 0;
}

バイナリファイルへの追加

バイナリファイルへの追加

abモードを使用すると、ファイルにバイナリデータを追加できます。

FILE *filePtr = fopen("data.bin", "ab");

これにより、既存のデータを保持したまま、ファイルの末尾に新しいデータが追加されます。

テキストファイルとバイナリファイルの比較

テキストファイルとバイナリファイルの比較

テキストファイル:

  • 人間が読める文字としてデータを保存します。
  • fprintf()とfscanf()を使用します。

バイナリファイル:

  • データを生の形式で保存します。
  • fwrite()とfread()を使用します。

まとめ

まとめ

このレッスンでは、次のことを学びました。

  • fwrite()とfread()を使用してバイナリファイルを読み書きする方法。
  • テキストファイル操作とバイナリファイル操作の違い。
  • 既存のファイルにバイナリデータを追加する方法。

次は、ファイル操作でのエラー処理について学びます。

バイナリファイルの扱い方 — イラスト10

よくある質問

「バイナリファイルの扱い方」レッスンは無料ですか?

はい。「バイナリファイルの扱い方」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C Academyコースには全3レッスンが含まれています。

「バイナリファイルの扱い方」で何を学びますか?

freadとfwriteを使って、テキスト以外のデータを扱う方法を理解します ブラウザで直接実行するハンズオンコードでC Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

C Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのC Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。

「バイナリファイルの扱い方」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このC Academyレッスンでコードを書いて実行できますか?

はい。すべてのC Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ファイル処理の概要
  2. バイナリファイルの扱い方
  3. ファイルのエラー処理
← C Academyに戻る