ファイルへの書き込み

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ほのか

ファイルへの書き込み

#1

投稿記事 by ほのか » 16年前

添付ファイルのソースをご覧いただきたいのですが、このソースの処理を終了する最後の関数内で、登録した名前等をファイルに書き込んでから終了させたいのですが、どうすれば良いのでしょうか?;
いろいろ試してみましたがよくわかりませんでした…
よろしくお願いします。

non

Re:ファイルへの書き込み

#2

投稿記事 by non » 16年前

まず、fopenしたファイルはfcloseしましょう。
プログラムの最初でファイルを読み込んだら、ほかの処理をする前に閉じた方がいいので、
mainの考え方を変えましょう。
if((fp = fopen(path,"r"))==NULL){
    printf("File Open ERROR\n");
    return 1;
}
ファイルの読み込み
すでにあるいろんな処理
書き込むために再度fopen
書き込み
のように作りましょう。

ところで、while(1)でmainを作るのはやめましょう。
exit(0)でプログラムを終了するのは感心しません。

pooka

Re:ファイルへの書き込み

#3

投稿記事 by pooka » 16年前

void write(Jusyoroku *data,int cnt,char *path){
	FILE *fp;
	int i;

	if((fp = fopen(path,"w")) == NULL){
		printf("file open error\n");
		exit(1);
	}

	for(i=0;i<cnt;i++){
		fprintf(fp,"氏名:%s\n",data.name);
		fprintf(fp,"郵便番号:%s\n",data.yubin);
		fprintf(fp,"住所:%s\n",data.add);
		fprintf(fp,"電話番号:%s\n",data.tel);
		fprintf(fp,"性別:%s\n",data.sei);
		fprintf(fp,"\n");
	}

	fclose(fp);
}

こんなかんじでファイルに書き込む関数を作ってみてはどうでしょうか?

ファイルを読み込むのであればファイルへの書き方を読み込みやすいように書き換えてください。

ほのか

Re:ファイルへの書き込み

#4

投稿記事 by ほのか » 16年前

回答ありがとうございます。
無事書き込みができました!ありがとうございました^^

閉鎖

“C言語何でも質問掲示板” へ戻る