限定しりとり

c言語ファイル処理で、自分で入力したいくつかの行の文を出力したいです。どのようにすればいいですか?自分で調べても元々コードの中に入力される文字が入っているものしか見当たらなかったです。

A 回答 (2件)

>これで実行できないんですけど、おかしいところありますか?



test.cppに書きたいのでしょうか。
それともtest.cppから読み込みたいのでしょうか。
コードに一貫性がありません。
読み込みたいなら、
①fp = fopen("text.cpp", "w");はおかしいです。
"w"ではなく"r"を指定すべきです。
②fprintf(fp, "%s", ch);も書き込みを行っています。

書き込みたいなら
while((fgets(ch,256,fp))!=NULL){はおかしいです。
test.cppから読み込みを行っています。

まず、読み込みたいのか、書き込みたいのか、
きちんと、仕様をはっきりさせましょう。
    • good
    • 0

次の手順で処理すれば良いですよ。


1. scanfでキー入力を受け付けて変数に格納する。
2. ファイルを書き込みモードで、openする。
3. printfで変数の内容をファイルに書き出す。
4. openしたファイルを、closeする。
    • good
    • 0
この回答へのお礼

char ch[100];
FILE *fp;
fp = fopen("text.cpp", "w");


if( fp == NULL ) {
perror("ファイルの読み込みに失敗\n");
return 1;
}

printf("文字列を入力してください: ");
fgets(ch, sizeof(ch), stdin);


fprintf(fp, "%s", ch);

while((fgets(ch,256,fp))!=NULL){
printf("%s",ch);
}
fclose(fp);

return 0;
}
これで実行できないんですけど、おかしいところありますか?

お礼日時:2022/03/22 13:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!