次の方法で共有


StrFormatByteSizeA 関数 (shlwapi.h)

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

構文

PSTR StrFormatByteSizeA(
        DWORD dw,
  [out] PSTR  pszBuf,
        UINT  cchBuf
);

パラメーター

dw

型: DWORD

変換する数値。

[out] pszBuf

種類: PSTR

変換された文字列を受け取るバッファーへのポインター。

cchBuf

型: UINT

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

戻り値

種類: PSTR

変換された文字列へのポインターを返します。変換が失敗した場合は 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

StrFormatByteSizeEx

StrFormatByteSizeW