auの日記

プログラミング初心者の日記。(auはハンドルネームです)

C言語でtest.txtの内容を出力する

auです。
昨日はファイルを開くところまでやりました。
program-shoshinsya.hatenablog.com
今回は、実際にtest.txtに入ってる内容を出力します。
test.txtの内容: Hello World!
出力するには、"fread関数"を使います

#include <stdio.h>

int main(void) {
    FILE *fp;
    char ch[30]; // テキストファイルを出力するときに使う

    char file_name[] = "test.txt";
    fp = fopen(file_name, "r");

    if (fp == NULL) { // 開けなかった場合
        printf("%sは開くことができませんでした\n", file_name);
    }

    fread(ch, sizeof(char), 8, fp); // charと同じバイト数を8個fpからchに書き込む
    printf("%s\n", ch);  // 書き込んだ内容を出力する

    fread(ch, sizeof(char), 8, fp);
    printf("%s\n", ch);


    fclose(fp); // 開いたら閉じる
    return 0;
}

// 実行結果
Hello Wo
rld!o Wo

読み込む処理を2回行いました。
2回目を見てもらうとわかりますが、1回目に読み込んだ上から続きを読み込んでいるため、同じメモリを使っていることがわかりました。