C言語 入門 小学生でもわかるC言語3

三日目 ファイル書き込み

「わかりやすく!」がテーマです!

HOME/小学生でもわかるC言語3 目次/三日目 ファイル書き込み/

広告

↓2016年02月29日発売↓

12歳からはじめる ゼロからのC言語 ゲームプログラミング教室

新品価格
¥2,462から
(2016/5/10 22:16時点)

もっと!C、C++言語本

目次へ戻る

?と思ったら

わからなそうな用語集

ファイル書き込み

今回はファイルにデータを書き込んでみます。

前回までに使った「test.txt」に「99999」というデータを書き込んでみます!

上書きモードで書き込むので前までにあったデータは書き換えられますのでご注意ください!

/*プログラム6*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main(){
	int ary_put_c[5] = {57,57,57,57,57};
	int count = 0;
	FILE *fp;

	fp = fopen("test.txt", "w");
	if (fp == NULL){
		printf("ファイルオープン失敗\n");
		exit(1);
	}

	for(count = 0;count < 5;count++){
		fputc(ary_put_c[count],fp);
	}

	fclose(fp);
	return 0;
}

■実行結果■

実行結果(i-3-1)

「test.txt」の中身を見てみると・・・。

無事に書き換えられてますね!

今回のファイル書き込みには前回使った「fgetc()」の反対で「fputc()」というのを使っております。

使い方もほとんど一緒で書き込むたびに勝手に進んでいくのも変わりありません。

ただ今度はファイルの終わりはこちら側で決めてあげないと永遠に書き込み続けるので注意です。

そしてさきほどのプログラムを見てみると

int ary_put_c[5] = {57,57,57,57,57};

前回同様にあらかじめ「48」を足してます。

「48 + 9 = 57」ですね!

再び文字コードの状態に戻してあげてから書き込みを行ったワケです。

「48足したり引いたりめんどくさいんですけど・・・。」

という方はご安心ください。

もっと楽な方法もありますので後ほど紹介いたします。

コピープログラム

では今までの事を合わせて簡単なコピープログラムを作ってみます!

今まで使っていた「test.txt」とは別にコピー先として「test2.txt」という名前のファイルを用意してください。

中身は空っぽで大丈夫です。

/*プログラム7*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main(){
	int get_c;
	FILE *fp;
	FILE *fp2;

	fp = fopen("test.txt", "r");
	if (fp == NULL){
		printf("ファイルオープン失敗\n");
		exit(1);
	}

	fp2 = fopen("test2.txt", "w");
	if (fp == NULL){
		printf("ファイルオープン失敗\n");
		exit(1);
	}

	while (1){
		get_c = fgetc(fp);
		if (!feof(fp))fputc(get_c,fp2);
		else break;
	}

	fclose(fp);
	fclose(fp2);
	return 0;
}

■実行結果■

実行結果(i-3-2)

「test2.txt」の中身を確認すると・・・。

「99999」と内容がコピーされてますね!

コピー元のファイルとコピー先のファイルの2つをオープンして

get_c = fgetc(fp);
if (!feof(fp))fputc(get_c,fp2);

読み込んだデータをそのまま書き込むだけですね!

最後にクローズも2つ分行うので注意です!

次回はファイル操作に関係ないようで関係ある入力と出力という事についてやっていきたいと思います。

次回

四日目 入力と出力

□ページの先頭へ□

□目次へ戻る□

広告

↓2014年06月20日発売↓

14歳からはじめるC言語わくわくゲームプログラミング教室 Visual Studio 2013編

新品価格
¥2,500から
(2016/5/10 22:17時点)

↓2014年10月25日発売↓

超本格! サンプルで覚えるC言語 3Dゲームプログラミング教室

新品価格
¥3,110から
(2016/5/10 22:18時点)

↓2013年07月25日発売↓

小学生からはじめるわくわくプログラミング

新品価格
¥2,052から
(2016/5/10 22:21時点)

↓2016年05月13日発売↓

小学生からはじめるわくわくプログラミング2

新品価格
¥2,052から
(2016/5/10 22:22時点)

もっと!C、C++言語本