添付ファイルのソースをご覧いただきたいのですが、このソースの処理を終了する最後の関数内で、登録した名前等をファイルに書き込んでから終了させたいのですが、どうすれば良いのでしょうか?;
いろいろ試してみましたがよくわかりませんでした…
よろしくお願いします。
ファイルへの書き込み
Re:ファイルへの書き込み
まず、fopenしたファイルはfcloseしましょう。
プログラムの最初でファイルを読み込んだら、ほかの処理をする前に閉じた方がいいので、
mainの考え方を変えましょう。
ところで、while(1)でmainを作るのはやめましょう。
exit(0)でプログラムを終了するのは感心しません。
プログラムの最初でファイルを読み込んだら、ほかの処理をする前に閉じた方がいいので、
mainの考え方を変えましょう。
if((fp = fopen(path,"r"))==NULL){ printf("File Open ERROR\n"); return 1; } ファイルの読み込み すでにあるいろんな処理 書き込むために再度fopen 書き込みのように作りましょう。
ところで、while(1)でmainを作るのはやめましょう。
exit(0)でプログラムを終了するのは感心しません。
Re:ファイルへの書き込み
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); }
こんなかんじでファイルに書き込む関数を作ってみてはどうでしょうか?
ファイルを読み込むのであればファイルへの書き方を読み込みやすいように書き換えてください。