次の方法で共有


wctob

ワイド文字がマルチバイト文字に対応し、そのマルチバイト文字の表現を返すかどうかを指定します。

構文

int wctob(
   wint_t wchar
);

パラメーター

wchar
変換される値。

戻り値

ワイド文字 wctob 正常に変換された場合、マルチバイト文字が 1 バイト長の場合にのみ、マルチバイト文字表現が返されます。 ワイド文字 wctob 検出された場合、マルチバイト文字に変換できない場合、またはマルチバイト文字が 1 バイト長でない場合は、-1 が返されます。

解説

wctob関数は、マルチバイト文字が 1 バイト長の場合、wcharに含まれるワイド文字を、int戻り値によって渡される対応するマルチバイト文字に変換します。

wctob が正常に実行されず、対応するマルチバイト文字が検出されなかった場合、この関数は、errnoEILSEQ に設定し、-1 を返します。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。

要件

ルーチンによって返される値 必須ヘッダー
wctob <wchar.h>

互換性の詳細については、「 Compatibility」を参照してください。

このプログラムは、wctob 関数の動作を示しています。

// crt_wctob.c
#include <stdio.h>
#include <wchar.h>

int main( void )
{
    int     bChar = 0;
    wint_t  wChar = 0;

    // Set the corresponding wide character to exactly one byte.
    wChar = (wint_t)'A';

    bChar = wctob( wChar );
    if (bChar == WEOF)
    {
        printf( "No corresponding multibyte character was found.\n");
    }
    else
    {
        printf( "Determined the corresponding multibyte character to"
                " be \"%c\".\n", bChar);
    }
}
Determined the corresponding multibyte character to be "A".

関連項目

データ変換
ロケール
_mbclenmblen_mblen_l
mbstowcs, _mbstowcs_l
mbtowc, _mbtowc_l
wctomb, _wctomb_l
WideCharToMultiByte