C言語について質問です。
C言語について質問です。 ファイル内のテキストの行数をカウントするプログラムを作りましたが、なぜか1行だけ足りません。試しにこのプログラムを読み込んだところ、本当は23行なのに22行と表示されてしまいました。 この理由がわかるかた教えてください。 <プログラム> #include <stdio.h> int main() { FILE* fp; char fname[FILENAME_MAX]; printf("ファイル名 : "); scanf("%s", fname); if ((fp = fopen(fname, "r")) == NULL) { printf("ファイルをオープンできません。"); } else { int ch; int count = 0; while ((ch = fgetc(fp)) != EOF) { if (ch == '\n') { count += 1; } } fclose(fp); printf("行宇数は%dです。", count); } }
ベストアンサー
(1149819368さん) このソースファイルを読み込んでいるのですかね? 23行目は改行していないので改行文字のカウント数は22で正解になります。
質問者からのお礼コメント
そういうことなんですね❗ ありがとうございます❗
お礼日時:6/27 10:39