C でファイルのサイズを取得するにはどうすればいいですか? [重複] 質問する

C でファイルのサイズを取得するにはどうすればいいですか? [重複] 質問する

C で書かれたアプリケーションで開いたファイルのサイズを確認するにはどうすればいいですか?

ロードされたファイルの内容を、 を使用して割り当てる文字列に格納したいので、サイズを知りたいですmalloc()

ただ書くというのはmalloc(10000*sizeof(char));、私の意見では悪い考えです。

ベストアンサー1

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

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

その後、次のようにして戻ることができます。

fseek(fp, 0L, SEEK_SET);

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

rewind(fp);

おすすめ記事