GetCurrencyFormatA 関数 (winnls.h)

識別子で指定されたロケールの通貨文字列として数値文字列を書式設定します。

メモ 相互運用性の理由から、Microsoft は新しいロケールのロケール識別子ではなくロケール名の使用に移行しているため、アプリケーションは GetCurrencyFormatEx 関数を GetCurrencyFormat に優先する必要があります。 Windows Vista 以降でのみ実行されるアプリケーションでは 、GetCurrencyFormatEx を使用する必要があります。
 

構文

int GetCurrencyFormatA(
  [in]            LCID               Locale,
  [in]            DWORD              dwFlags,
  [in]            LPCSTR             lpValue,
  [in, optional]  const CURRENCYFMTA *lpFormat,
  [out, optional] LPSTR              lpCurrencyStr,
  [in]            int                cchCurrency
);

パラメーター

[in] Locale

この関数が通貨文字列を書式設定するロケールを指定するロケール識別子MAKELCID マクロを使用してロケール識別子を作成するか、次のいずれかの定義済み値を使用できます。

[in] dwFlags

通貨形式を制御するフラグ。 lpFormatNULL に設定されていない場合、アプリケーションはこのパラメーターを 0 に設定する必要があります。 この場合、関数は、ロケールの既定の通貨形式にユーザーオーバーライドを使用して文字列の書式を設定します。 lpFormatNULL に設定されている場合、アプリケーションはLOCALE_NOUSEROVERRIDEを指定して、指定したロケールのシステムの既定の通貨形式を使用して文字列の書式を設定できます。

注意 ユーザー設定 無効にしているため、LOCALE_NOUSEROVERRIDEの使用は強くお勧めしません。
 

[in] lpValue

詳細については、GetCurrencyFormatExlpValue パラメーターを参照してください。

[in, optional] lpFormat

通貨書式情報を含む CURRENCYFMT 構造体へのポインター。 構造体のすべてのメンバーには、適切な値が含まれている必要があります。 関数が指定されたロケールの通貨形式を使用する場合、アプリケーションはこのパラメーターを NULL に設定できます。 このパラメーターが NULL に設定されていない場合、関数は、 CURRENCYFMT 構造体で指定されていない書式設定情報 (たとえば、ロケールで使用される負の符号の文字列値) にのみ、指定されたロケールを使用します。

[out, optional] lpCurrencyStr

この関数が書式設定された通貨文字列を取得するバッファーへのポインター。

[in] cchCurrency

lpCurrencyStr バッファーのサイズ (文字数)。 関数が書式設定された通貨文字列を保持するために必要なバッファーのサイズを返す場合、アプリケーションはこのパラメーターを 0 に設定します。 この場合、 lpCurrencyStr パラメーターは使用されません。

戻り値

成功した場合に lpCurrencyStr によって示されるバッファー内で取得された文字数を返します。 cchCurrency パラメーターが 0 に設定されている場合、関数は、書式設定された通貨文字列を保持するために必要なバッファーのサイズ (終端の null 文字を含む) を返します。

成功しなかった場合、関数は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。このエラー コードは、次のいずれかのエラー コードを返すことができます。

  • ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分な大きさではなかったか、 正しく NULL に設定されていません。
  • ERROR_INVALID_FLAGS。 フラグに指定された値が無効です。
  • ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。

解説

この関数は、 カスタム ロケールからデータを取得できます。 データは、コンピューター間、またはアプリケーションの実行間で同じであるとは限りません。 アプリケーションでデータを永続化または送信する必要がある場合は、「 永続的なロケール データの使用」を参照してください。

この関数の ANSI バージョンを Unicode のみのロケール識別子と共に使用すると、オペレーティング システムでシステム コード ページが使用されるため、呼び出しは成功します。 ただし、システム コード ページで未定義の文字は、文字列に疑問符 (?) として表示されます。

注意

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

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winnls.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

CURRENCYFMT

GetCurrencyFormatEx

GetNumberFormat

各国語サポート

各国語サポート関数