|
||
解説: ファイルの情報を調べたい場面は、多々あります。取得するのに、いろいろな方法がありますが、ここでは 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) + "バイト"; } //------------------------------------------------------------------- |