ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

stat でファイルサイズを知る 

更新 : 2010/03/25

 



解説:
ファイルの情報を調べたい場面は、多々あります。取得するのに、いろいろな方法がありますが、ここでは stat を使っています。
stat は、ファイルやディレクトリを指定すると、サイズやタイムスタンプなどの情報を stat 構造体に格納してくれます。
その中から、今回は、ファイルのサイズを取得してみます。

使用例:
例では、Button1 をクリックして、任意ファイルを指定すると、ファイルのサイズが Label1 に表示されます。

コンポーネントは、Button、OpenDialog、Label をひとつずつ適当に配置してください。

イベントハンドラを記述する前に、sys\stat.h をインクルードしておきます。
Button1 の OnClick では、ファイルを呼び出す準備をまず行い、stat にファイル名を引数として渡します。
st_size に格納された値を Label1 の Caption に表示しています。

stat には他にも情報が格納されていますので、取り出してみると良いでしょう。

#include <sys\stat.h>
//-------------------------------------------------------------------
 void __fastcall TForm1::Button1Click(TObject *Sender)
{
    if (!OpenDialog1->Execute()) return;

    AnsiString file = OpenDialog1->FileName;

    struct stat statbuf;
    stat(file.c_str(), &statbuf);

    // サイズ
    Label1->Caption = "サイズ:" + AnsiString(statbuf.st_size) + "バイト";
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.