Windows API国際化プログラミング
UNICODE対応

WindowsにおけるUNICODE対応には本来、深い知識と理解が必要ですが、 ここでは最低限の基本項目について言及します。UNICODE対応の目的は、 異なる言語の文字データを統一的に扱えるようにすることです。
  1. 文字列にはTCHARを使用する
  2. TCHAR対応の処理にする
  3. UNICODEオプションをつける
マルチバイト関数、ユニコード関数、TCHAR(両対応)関数の主な対応は以下のようになります。
------------------------------------------------------------------------
マルチバイト     ユニコード       TCHAR            説明
------------------------------------------------------------------------ 
strcpy          wcscpy         _tcscpy         文字列をコピー
strncpy         wcsncpy        _tcsncpy        指定文字数分だけ文字列をコピー
strcat          wcscat         _tcscat         2つの文字列を連結
strncat         wcsncat        _tcsncat        2つの文字列を指定文字数分連結
strlen          wcslen         _tcslen         文字列の文字数を数える
strcmp          wcscmp         _tcscmp         文字列同士を比較し、等しければ0を返す
strncmp         wcsncmp        _tcsncmp        指定文字数分だけ文字列同士を比較し、等しければ0を返す
strstr          wcsstr         _tcsstr         文字列の中に指定した文字列が含まれていたら0以外を返す 
sscanf          swscanf        _tscanf         文字列から対応する書式で指定した変数に値を格納
sprintf         swprintf       _stprintf       文字列変数に対してprintfする(指定の文字列変数に書式文字列を格納)
_scprintf       _scwprintf     _sctprintf      書式文字列をprintfした際の文字数を数える
strtok          wcstok         _tcstok         区切り文字を指定し、文字列から区切り文字ごとに文字列を抽出していく
strchr          wcschr         _tcschr         文字列内から指定の文字を探索し、その位置を返す
_strdup         _wcsdup        _tcsdup         文字列の領域を複製(主に文字列を返す関数で応用可能)
printf          wprintf        _tprintf        DOS上に文字列を描画
scanf           wscanf         _tscanf         DOS上で入力を指定の変数に格納
std::cout       std::wcout      なし              DOS上に文字列を描画
std::cin        std::wcin       なし              DOS上で入力を指定の変数に格納
fopen           _wfopen        _tfopen         ファイルストリームを開く
fprintf         fwprintf       _ftprintf       指定のファイルストリームに書式付文字列を書き込む
fputs           fputws         _fputts         指定のファイルストリームに文字列を一行書き込む
fgets           fgetws         _fgetts         指定のファイルストリームから文字列を一行、指定の変数に読み込む
fscanf          fwscanf        _ftscanf        ファイルストリームから対応する書式で指定した変数に値を格納
fgetc           fgetwc         _fgettc     
fputc           fputwc         _fputtc     
getc            fgetwc         _gettc      
getchar         getwchar       _gettchar   
gets            getws          _getts      
putc            putwc          _puttc      
puts            putws          _putts      
strtod          wcstod         _tcstod     
strtol          wcstol         _tcstol     
strtoul         wcstoul        _tcstoul    
atof            _wtof          _tstof      
atol            _wtol          _tstol, _ttol         
atoi            _wtoi          _tstoi, _ttoi      
system          _wsystem       _tsystem    
------------------------------------------------------------------------

国際化プログラミングトップへ


Copyright (C) 2012 Kokusaika JP, Inc.
本ドキュメントを無断で転載および引用することを禁じます。