• 締切済み

教えてください。

12) ファイル入出力関数を使って、次のプログラムを作成しなさい。ファイルを読み込み、読み込んだ情報を下記のファイル出力条件に従い別のファイルに出力する。出力するファイル名については、入力を促しファイル名に拡張子".txt"を付与する。同一のファイル名を指定し、実行した場合は前回の内容に追加する。 ファイル出力条件: unknown以外を別ファイルに出力する。 前提条件: 以下のstatus.txtファイルを作成する。 unknown completed processing completed completed processing unknown unknown processing unknown completed processing <表示イメージ> 出力するファイル名を入力して下さい。 out_status(←入力する) ファイルの読み込み/書き込みに成功しました。 <ファイルイメージ> out_status.txt ←入力したファイル名(拡張子".txt"が付与される。) completed processing completed completed 1回目の実行結果 processing processing completed processing completed processing completed completed 同一のファイル名を指定した、2回目の実行結果 processing (前回の内容に追加される。) processing completed processing 全くの素人で、今困っておりますので、ご指導くださいますようお願いします。

みんなの回答

回答No.3

/* 質問のタイトルは考えてください。*/ #include <stdio.h> #include <string.h> #define INFILE "status.txt" int main(void) { ○○char outfile[100], buff[200]; ○○FILE *ifp, *ofp; ○○ifp = fopen(INFILE, "r"); if(!ifp) return -1; ○○printf("出力するファイル名を入力して下さい。"); ○○fgets(outfile, sizeof(outfile), stdin); ○○outfile[strlen(outfile) - 1] = '\0'; ○○strcat(outfile, ".txt"); ○○ofp = fopen(outfile, "a"); if(!ofp) return -2; ○○while(fgets(buff, sizeof(buff), ifp)) { ○○○○if(strcmp(buff, "unknown\n")) { ○○○○○○fprintf(ofp, "%s", buff); ○○○○} ○○} ○○puts("ファイルの読み込み/書き込みに成功しました。"); ○○fclose(ofp); ○○fclose(ifp); ○○return 0; }

sklql
質問者

お礼

教えてくれて有難うございました。

回答No.2

>12) ファイル入出力関数を使って、次のプログラムを作成しなさい。 課題の丸投げか何かですか? それで、何処がどうわからなくて困ってるの? そういや、一か月前にも別QAで「最初から最後まで全く同じ文章」の質問があったなぁ。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

全くの素人、と言っても、わかるところもあるでしょう。 できるところだけ作ったソースと、具体的な解らない箇所を明記すれば、回答もつきやすいでしょう。 本当にまったくわからないのなら、Cの勉強を1からやりなおしてください。

関連するQ&A