2012/05/28

C言語 テキストファイル書込み fputs

ファイルの書込み。新規でテキストファイルを作って、そこに文字列を書込む。同じ名前のファイルがある場合は上書きされる。

ファイル書込みプログラム

#include <stdio.h>
#include <stdlib.h>
int main(void){
  char str[] = "Hello World";
  FILE *fp;
  fp = fopen("sample1.txt", "w");
  if (fp == NULL) {
    exit(EXIT_FAILURE);
  }
  fputs(str, fp);
  fclose(fp);
  return 0;
}
実行すると以下の内容のテキストファイルがプログラムと同じ階層に作られる。
上から説明すると、ファイルを扱うためにまず、<stdlib.h>が必要なのでincludeする。
str[]は書き込み内容。内容は「Hello World」とした。
FILE *fpはファイルポインタの宣言。これはファイルの入出力で必要な情報を管理する。
fopenで指定したパスのファイルを開く。その際の「w」は、書込みモードの指定。
fputsでテキストを書込む。
最後にfcloseで開いたファイルを閉じて終了。

sample1.txt
Hello World
次に作ったファイルに追加書込みしてみる。

既存ファイルに追加書込み

#include <stdio.h>
#include <stdlib.h>
int main(void){
  char str[] = "\n追加書込み";
  FILE *fp;
  fp = fopen("sample1.txt", "a");
  if (fp == NULL) {
    exit(EXIT_FAILURE);
  }
  fputs(str, fp);
  fclose(fp);
  return 0;
}
実行すると、先に作ったファイル「sample1.txt」に「追加書込み」という文字列を追加する。
プログラムの違いはモードが「a」になっているところ。これはファイルがあれば、追加で書込みをし、なければ新規でファイルを作る。
sample1.txt
Hello World
追加書込み



C言語 ANSI C89 Meadow & MinGW GCC 目次はこちら