C 日本語文字列 新しいページはコチラ
提供: yonewiki
(→マルチバイト文字列、ワイド文字列) |
|||
38行: | 38行: | ||
VisualSutdioのプロジェクトの設定でもUnicode文字列とマルチバイト文字列、どっちも使わないってのが設定できます。<br /> | VisualSutdioのプロジェクトの設定でもUnicode文字列とマルチバイト文字列、どっちも使わないってのが設定できます。<br /> | ||
VisualStudioをアクティブにしている状態で[Alt]+[F7]でプロジェクトのプロパティが表示されるダイアログが表示されます。<br /> | VisualStudioをアクティブにしている状態で[Alt]+[F7]でプロジェクトのプロパティが表示されるダイアログが表示されます。<br /> | ||
− | + | 左側のツリー構造から構成プロパティの中の全般を選択すると右側のビュー表示されるリストに文字セットというのがあります。<br /> | |
− | + | リストには「Unicode文字セットを使用する/マルチバイト文字セットを使用する/設定なし」の3つがあり、ここで選択した設定にしたがって<br /> | |
+ | TCHAR型という文字列変数を定義することで、設定にしたがって、マルチバイトおよびUnicodeを判別してコンパイルしてくれます。<br /> | ||
+ | 因みにワイド文字列型では、wchar_t型というのを使うのですが、TCHAR型は、Unicode設定だとwchar_tに置き換わることになります。<br /> | ||
<br /> | <br /> | ||
ワイド文字列では、文字列リテラルへは L("yonewiki") としなければならないし、<br /> | ワイド文字列では、文字列リテラルへは L("yonewiki") としなければならないし、<br /> | ||
46行: | 48行: | ||
setlocale関数で設定が必要で、<br /> | setlocale関数で設定が必要で、<br /> | ||
setlocale( LC_ALL, "Japanese" );<br /> | setlocale( LC_ALL, "Japanese" );<br /> | ||
− | + | <br /> | |
− | C++Runtimeリファレンス<br /> | + | ※ちなみに関数のリファレンスはmsdnが最強だと思うわけでして、<br /> |
+ | *C++Runtimeリファレンス<br /> | ||
http://msdn.microsoft.com/ja-jp/library/634ca0c2(v=vs.90).aspx<br /> | http://msdn.microsoft.com/ja-jp/library/634ca0c2(v=vs.90).aspx<br /> | ||
− | setlocale<br /> | + | *setlocale<br /> |
http://msdn.microsoft.com/ja-jp/library/x99tb11d(v=vs.90).aspx<br /> | http://msdn.microsoft.com/ja-jp/library/x99tb11d(v=vs.90).aspx<br /> | ||
− | + | <br /> | |
+ | のようにsetlocale関数の記述が必要になります。setlocale関数を使うには#include<locale.h>が必要です。<br /> | ||
さらにwcher_t型を使うには、プリプロセッサでwchar.hを読み込まなくてはならず、<br /> | さらにwcher_t型を使うには、プリプロセッサでwchar.hを読み込まなくてはならず、<br /> | ||
<nowiki>#include<wchar.h></nowiki>と記述しないといけないです。<br /> | <nowiki>#include<wchar.h></nowiki>と記述しないといけないです。<br /> | ||
111行: | 115行: | ||
とはいっても、世界中にはいろんな型の文字列で操作されますので、いろいろな変換が必要になります。<br /> | とはいっても、世界中にはいろんな型の文字列で操作されますので、いろいろな変換が必要になります。<br /> | ||
<br /> | <br /> | ||
+ | |||
== '''マルチバイト文字列、ワイド文字列の相互変換''' == | == '''マルチバイト文字列、ワイド文字列の相互変換''' == |