プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

ファイルサイズの取得(2)

2011年12月03日 01時06分00秒 | ファイル関連

4GB以上のファイル・サイズを取得するには GetFileSizeEx 関数を使います。(戻る)

プロトタイプ宣言

BOOL GetFileSizeEx(
    HANDLE              hFile,          // ファイルのハンドル
    LPLARGE_INTEGER     lpFileSize      // ファイルサイズの構造体
);

構造体

typedef union _LARGE_INTEGER {
    struct {
        DWORD   LowPart;        // 下位32ビット
        LONG    HighPart;       // 上位32ビット
    };
    struct {
        DWORD   LowPart;        // 下位32ビット
        LONG    HighPart;       // 上位32ビット
    } u;
    LONGLONG    QuadPart;       // 64ビット整数
} LARGE_INTEGER, *LPLARGE_INTEGER;

使い方

LARGE_INTEGER i64Size;

GetFileSizeEx( hFile, &i64Size );
printf( TEXT("ファイル・サイズは %I64ld です。\n"), i64Size.QuadPart );
  • hFile にオープンされたファイル・ハンドルを指定します。
  • printf 関数に「%I64ld」を指定することで64ビット整数を表示できます。
  • また、printf 関数が C99 規格に準じしてる場合には「%lld」で64ビット整数を表示可能。

関連記事



コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« プログレスバー(まとめ) | トップ | ファイルが実行可能か調査 »
最新の画像もっと見る

コメントを投稿

ファイル関連」カテゴリの最新記事