次の方法で共有


StrFormatByteSizeW 関数 (shlwapi.h)

サイズに応じて、数値をバイト、キロバイト、メガバイト、ギガバイト単位のサイズ値として表される数値を表す文字列に変換します。 1 つのパラメーター型の StrFormatByteSizeA とは異なります。

構文

PWSTR StrFormatByteSizeW(
        LONGLONG qdw,
  [out] PWSTR    pszBuf,
        UINT     cchBuf
);

パラメーター

qdw

種類: LONGLONG

変換する数値。

[out] pszBuf

種類: PWSTR

この関数が正常に返されると、変換された数値を受け取るバッファーへのポインター。

cchBuf

型: UINT

pszBuf が指すバッファーのサイズ (文字単位)。

戻り値

種類: PWSTR

変換された文字列へのポインターを返します。変換が失敗した場合は NULL を 返します。

注釈

この関数の最初のパラメーターには、ANSI バージョンと Unicode バージョンで異なる型があります。 数値が DWORD の場合は、どちらの場合もテキスト マクロで StrFormatByteSize を使用できます。 Unicode の場合、コンパイラは数値を LONGLONG にキャストします。 数値が LONGLONG の場合は、 StrFormatByteSizeW を明示的に使用する必要があります。

Windows 10では、サイズはベース 2 ではなくベース 10 で報告されます。 たとえば、1 KB は 1024 ではなく 1000 バイトです。

次の表は、この関数が数値をテキスト文字列に変換する方法を示しています。

数値 テキスト文字列
532 532 バイト
1340 1.30 KB
23506 22.9 KB
2400016 2.28 MB
2400000000 2.23 GB
 

注意

shlwapi.h ヘッダーは、STRFormatByteSize をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shlwapi.h
Library Shlwapi.lib
[DLL] Shlwapi.dll (バージョン 4.71 以降)

こちらもご覧ください

StrFormatByteSize64

StrFormatByteSizeA

StrFormatByteSizeEx