C 日本語文字列 新しいページはコチラ
提供: yonewiki
(→マルチバイト文字列、ワイド文字列) |
|||
49行: | 49行: | ||
− | ワイド文字列では、文字列リテラルへは L | + | ワイド文字列では、文字列リテラルへは L"yonewiki" としなければならないし、例えば文字列を引数にする関数もwprintf(L("cStr=%s"),cStr );とかに多数の書き換えが必要になります。そして、ワイド文字がどこの国の言葉を扱うのかを定義するには、setlocale関数で設定が必要で、setlocale( LC_ALL, "Japanese" );※リテラルの設定では省略されていますが、setlocale( LC_ALL, "Japanese_Japan.932" ); /> |
と設定していることになります。出力するときには日本語のShift_JISにしてねということです。今はWindowsPCのコマンドプロンプトで動作を確認しているからです。<br /> | と設定していることになります。出力するときには日本語のShift_JISにしてねということです。今はWindowsPCのコマンドプロンプトで動作を確認しているからです。<br /> | ||
62行: | 62行: | ||
− | _wsetlocale( LC_ALL, L | + | _wsetlocale( LC_ALL, L"Japanese" );<br /> |
82行: | 82行: | ||
#include<wchar.h> | #include<wchar.h> | ||
int main() { | int main() { | ||
− | _wsetlocale( LC_ALL, L | + | _wsetlocale( LC_ALL, L"Japanese"); |
wchar_t cStr[]=L("よねウィキyonewiki"); | wchar_t cStr[]=L("よねウィキyonewiki"); | ||
wprintf(L("cStr0=%s sizeof=%d StrCount=%d"), cStr0,sizeof(cStr0),wcslen(cStr0)); | wprintf(L("cStr0=%s sizeof=%d StrCount=%d"), cStr0,sizeof(cStr0),wcslen(cStr0)); |