• ベストアンサー

C言語 コンソール VC6.0で

テキストファイルをfopenで読み込んだ後、 そのテキストが「何行で構成されているか」を知りたいのですが、 どうすればよいでしょうか? 改行の数を数える=何行かということだと思うのですが、 なかなかうまくいきません。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

fgets()を利用して調べてみてはどうでしょう ---------------------------------------------------------------- char buf[256]; int count = 0; while( fgets( buf, sizeof(buf)-1, fp ) != NULL ) count++; ---------------------------------------------------------------- fgets()は改行がくるまで読み込む関数ですので、 読み取れなくなるまで呼び出せば、それが行数となります。 ※このプログラムは1行が最大255文字のテキストしか保障していません

その他の回答 (4)

noname#20505
noname#20505
回答No.5

サンプルを示せば、こんな感じですね。 下記のサンプルは、見易くするため漢字を入れました。 /* ファイルの改行数取得 */ int sample(char *path) {  FILE *fp;  int cnt=0, ch;  if ((fp = fopen(path, "rt")) == NULL) return (cnt);  while ((ch = fgetc(fp)) != EOF) {   if (ch == '\n') cnt++;  }  fclose(fp);  return (cnt); }

回答No.3

ソースコードを提示してはどうでしょうか?

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

> 改行の数を数える=何行かということだと思うのですが、 それで問題ありません。 > なかなかうまくいきません。 どううまくいかなかったのでしょうか?

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

読み込んだ後じゃなくて読み込むときに1行づつ読み込んでカウントするのはどうでしょうか。

関連するQ&A