- ベストアンサー
ファイルの出力
コマンドラインで指定したファイルの内容を一行ずつ表示するプログラムです。一行表示するごとに次の行も表示するか尋ねます。 #include<stdio.h> #include<stdlib.h> #include<ctype.h> int main(int argc, char *argv[]) { FILE *fp; char str[80]; char ch; if (argc != 2){ printf("コマンドライン引数が違います\n"); exit(1); } if ((fp = fopen(argv[1],"r")) == NULL){ printf("ファイルが開けません"); exit(1); } while(!feof(fp)){ fgets(str, 79, fp); if (!feof(fp)) printf("%s",str); printf("追加しますか?(y/n)"); gets(str); if ( toupper(*str) == 'N') break; printf("\n"); } if (fclose(fp) == EOF){ printf("ファイルを閉じれません\n"); exit(1); } return 0; } while文の gets(str); if ( toupper(*str) == 'N') break; この部分を ch = getchar(); if ( toupper(ch) == 'N') break; でやると上手く実行できないのですが、なぜでずか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- JaritenCat
- ベストアンサー率37% (122/322)
- notnot
- ベストアンサー率47% (4896/10350)
関連するQ&A
- アンドロイドのスマホとブラザー製のDCP-J525Nプリンターを同じ無線LANに接続しているにも関わらず、スマホからの印刷ができません。通信エラーが発生しています。
- 問題の製品はブラザー製のDCP-J525Nプリンターです。アンドロイドのスマホと同じ無線LANに接続していますが、印刷ができません。通信エラーが表示されます。
- スマホからDCP-J525Nプリンターへの印刷ができません。スマホとプリンターは同じ無線LANに接続していますが、通信エラーが発生しています。