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 以降) |