NaaN日記

やったこと、覚えたことを発信する場

テキストファイルの操作(C)

もうすぐC言語を授業でやる。
ということで、まだ使ったことがなかった、テキストファイルに直接書いたりする方法を勉強するぞ

ファイルを開くときの形

ファイル型のポインタ変数 = fopen("テキストファイル名", "モード")

モード

ファイルを開いてどうするか。

  • r:読み込み
  • r+:読み書き

ファイルが存在しない場合、失敗する

  • w:書き込み
  • w+:読み書き

ファイルに上書きする。存在しない場合、新しいファイルを作る。

  • a:追加書き込み
  • a+:追加読み書き

ファイルに追記する。存在しない場合、新しいファイルを作る。

"+"は対のモードを追加して、読み書き両方を可能にする。

実際にファイルを開閉してみる
#include <stdio.h>
int main(void){
    FILE *hoge;  //ファイル型のポインタ変数を定義
    hoge = fopen("a.txt", "w"); //a.txtファイルをwモードで開く(存在する場合は上書きする)
    fclose(hoge);
    return 0;
}

f:id:CNaan:20180913230952p:plain
実行すると、
f:id:CNaan:20180913230954p:plain
a.txtファイルが増えた!!

ファイルに書き込む

fprintf(ファイル型のポインタ変数, "文字列")を使う

#include <stdio.h>
int main(void){
    int num;
    num = 1;
    FILE *hoge;
    hoge = fopen("a.txt", "w");
    fprintf(hoge, "Good morning, %d" ,num);
    fclose(hoge);
    return 0;
}
>> Good morning, 1

このように、変数を表示させることも可能

ファイルから読み込む
Thank_you!

この、c.txtファイルの内容をコマンドラインに表示させる。

#include <stdio.h>
int main(void){
    char str[100];
    FILE *hoge;
    hoge = fopen("c.txt", "r");
    fscanf(hoge, "%s", str);
    fclose(hoge);
    printf("%s", str);
    return 0;
}
>>Thank_you!