GCCがwindowsの下で広い文字をコンパイルする問題をテストします
//MinGWを使用してwindowsの下でワイド文字をコンパイルする例//g++testwstring.cpp//注意:ソースファイルはUFT-8形式で保存する必要があります
//コンソールの出力は以下の通り//これは中国の漢字//文字の個数::6//<<漢>の位置::4
//C++Builderを使用してコンソールの下でワイド文字をコンパイルする場合は//bcc 32 testwstringを使用できます.cpp
//Windowsでワイド文字をサポートするBCBは明らかにGCCより強い.C++Builder 2010以降のバージョンではUnicodeStringを直接サポート
ファイルにワイド文字(漢字)を書き込む場合は、次の例を参照してください.
#include <iostream>
#include <locale>
#include <string>
using namespace std;
int main()
{
setlocale(LC_ALL, "");
wstring ws=L" ";
wcout<<ws<<endl;
wcout<<L" ::"<<ws.size()<<endl;
wcout<<L"< > ::"<<ws.find_first_of(L" ")<<endl;
return 0;
}
//コンソールの出力は以下の通り//これは中国の漢字//文字の個数::6//<<漢>の位置::4
//C++Builderを使用してコンソールの下でワイド文字をコンパイルする場合は//bcc 32 testwstringを使用できます.cpp
//Windowsでワイド文字をサポートするBCBは明らかにGCCより強い.C++Builder 2010以降のバージョンではUnicodeStringを直接サポート
ファイルにワイド文字(漢字)を書き込む場合は、次の例を参照してください.
//g++ testwstringfile.cpp
// ( )
// :: UFT-8
#include <iostream>
#include <fstream>
#include <locale>
using namespace std;
int main(int argc, char** argv)
{
setlocale(LC_ALL,"chs");
wfilebuf wfb;
wostream output(&wfb);
wfb.open("WStringFile.txt", ios::in | ios::out |ios::trunc);
output << L" !" <<endl;
return 0;
}