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ビット整数を表示可能。
関連記事
- ファイルのコピー/移動/削除
- ファイル属性の取得/設定
- ファイル日時の取得
- ファイル日時の設定
- ファイルタイプの取得
- ファイルサイズの取得(1)
- ファイルサイズの取得(2)
- ファイルが実行可能か調査
※コメント投稿者のブログIDはブログ作成者のみに通知されます