次の方法で共有


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 では、サイズは Base 2 ではなく Base 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 ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして StrFormatByteSize を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー shlwapi.h
ライブラリ Shlwapi.lib
DLL Shlwapi.dll (バージョン 4.71 以降)

関連項目

StrFormatByteSize64

StrFormatByteSizeA の

StrFormatByteSizeEx の