wprintf() で Unicode を使う

wprintf() でワイドキャラクタ(unicode)を使って編集して表示します。

前田稔の超初心者のプログラム入門

プログラムの説明

  1. ソースプログラムです。
    ファイル名 説明
    Wprintf.cpp Unicode を使う
  2. 文字と文字列の定義です。
    ch, *str でマルチバイトの定義を、wch と *wstr でワイドキャラクタの定義しています。
        char    ch = 'h', 
                *str = "Shift JIS";
        wchar_t wch = L'w', 
                *wstr = L"Unicode";
        
  3. マルチバイトに対応した printf() で文字列定数と *str を表示してみました。
        printf("\nShift JIS String\n");
        printf(str);
        
  4. ワイドキャラクタに対応した wprintf() で文字列定数と *wstr を表示してみました。
        wprintf(L"\nUnicode String\n");
        wprintf(wstr);
        
  5. char と wchar_t で定義した文字(一文字)を printf() で編集して表示します。
    %10c や %5c はフィールド幅を指定した書き方です。
    %5hc の h は h/l/L修飾でショート型を指定したのですが、c(文字型)に対しては無意味なようです。
        printf("\nCharacters in field (1):\n"
               "%10C%5c%5c%5hc\n",
               ch, ch, wch, wch);
        
  6. 続けて、同じ文字を wprintf() で編集して表示してみます。
        wprintf(L"Characters in field (2):\n"
                L"%10C%5c%5c%5hc\n",
                ch, ch, wch, wch);
        
  7. プログラムを実行した結果です。
    全ソースコードと合わせて参照して下さい。
    Shift JIS String
    Shift JIS
    Unicode String
    Unicode
    Characters in field (1):
             h    h    w    w
    Characters in field (2):
             h    h    w    w
    
  8. ワイドキャラクタで次の全角文字を表示して見て下さい。
    残念ながらこのままでは、全角文字は使えません。
    全角文字を使用する方法は Unicode で全角文字を使用 を参照して下さい。
    wprintf(L"漢字を表示\n");

超初心者のプログラム入門(C/C++)