1. ホーム
  2. c

[解決済み] C言語でファイルサイズを取得するには?[重複]する

2022-03-24 10:24:56

質問

C言語で書かれたアプリケーションで開いたファイルのサイズを知るにはどうしたらいいですか? というのも、読み込んだファイルの内容を文字列に変換し、それを malloc() . と書くだけで malloc(10000*sizeof(char)); は、IMHOでは悪い考えだと思います。

解決方法は?

ファイルの末尾までシークして、位置を問い合わせる必要があります。

fseek(fp, 0L, SEEK_END);
sz = ftell(fp);

その後、例えばシークバックを行うことができます。

fseek(fp, 0L, SEEK_SET);

または (最初に戻る場合は)

rewind(fp);