wctomb() - ワイド文字のマルチバイト文字への変換

標準

標準/拡張機能 C/C++ 依存項目

ISO C 改訂
XPG4
XPG4.2
C99
Single UNIX Specification、バージョン 3

両方  

形式

#include <stdlib.h>

int wctomb(char *string, wchar_t character);

機能説明

characterwchar_t 値を、string が指すマルチバイト配列に変換します。character の値が 0 の場合には、関数は初期シフト状態のまま残ります。wctomb() は、最大で MB_CUR_MAX 個の文字を string に保管します。

このワイド文字関数の動作は、現行ロケールの LC_CTYPE カテゴリーの影響を受けます。 カテゴリーを変更すると、未定義の結果が発生する可能性があります。

戻り値

正常に実行された場合、wctomb() は、マルチバイト文字の長さ (バイト単位) を戻します。

character が有効なマルチバイト文字でない場合、wctomb() は値 -1 を戻します。

string が NULL ポインターの場合、wctomb() はシフト依存のエンコードが使用されるとゼロ以外を戻し、そうでない場合は 0 を戻します。

CELEBW30
⁄* CELEBW30                                      

   This example converts the wide character c to a character using wctomb().    

 *⁄                                                                             
#include <stdio.h>                                                              
#include <stdlib.h>                                                             
                                                                                
#define SIZE 40                                                                 
                                                                                
int main(void)                                                                  
{                                                                               
  static char  buffer[ SIZE ];                                                  
  wchar_t wch = L'c';                                                           
  int length;                                                                   
                                                                                
  length = wctomb( buffer, wch );                                               
  printf( "The number of bytes that comprise the multibyte "                    
             "character is %i¥n", length );
  printf( "And the converted string is ¥"%s¥"¥n", buffer );
}                                                                               
出力:
The number of bytes that comprise the multibyte character is 1
And the converted string is "c"

関連情報