青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

colorful

zc qq:1337220912

 

wxWidgets中wxString各類型轉(zhuǎn)換

http://www.cnzui.com/archives/290#std::string_to_wxString

目錄

   附加(數(shù)據(jù)庫(kù)ADO類型):

文本

A literal is a string written in code with "quotes around it". A literal is not a wxString, and (in wxWidgets 2.8) will not be implicitly converted to one. This means that you can never pass in a raw literal into a wxWidget function or method (unless you don't care about your app not building with Unicode-enabled wxWidgets builds)
文本是一個(gè)在代碼中被引號(hào)包圍的串,文本它不是一個(gè)單純的wxString類型,并且(在wxWidgets 2.8中)不能被隱含的轉(zhuǎn)換為一個(gè)wxString類型。這意味著你不能試圖將光禿禿的將一段文本放到wxWidget函數(shù)或方法中通過(guò)編譯(除非你不在 意你的應(yīng)用程序是需要在Unicode編碼環(huán)境中通過(guò)編譯的)。

MessageBox("I'm a mistake!")  // WRONG in WxWidgets 2.8 (OK in 2.9) 

Instead, wxWidgets (prior to wxWidgets 2.9) requires you to use one of these macros to turn literals into wxString-compatible characters:

_("text that can be translated") wxT("text that won't be translated") _T("same as wxT")   char* c = "sometext"; wxT(c) // WRONG, not a literal 

Rather than being a nuisance, the _(), wxT(), and _T() macros take care of some unicode issues and help with internationalization.

char* to wxString

const char* chars = "Hello world"; // assuming your string is encoded as UTF-8, change the wxConv* parameter as needed wxString mystring(chars, wxConvUTF8);

wxString to char*

void my_function(const char* foo) { } ... wxString mystring(wxT("HelloWorld")); // you could give the encoding you want as a parameter to mb_str(), e.g. mb_str(wxConvUTF8) my_function( mystring.mb_str() );

mb_str() 返回一個(gè)臨時(shí)的指針,如果你需要通過(guò)函數(shù)得到更多的返回結(jié)果(就和上面的情況一樣),你可以臨時(shí)保存一下這個(gè)字符數(shù)據(jù)流:

wxString s( wxT("some string") ); wxCharBuffer buffer=s.ToUTF8(); foo( buffer.data() );  // data() returns const char * bar( buffer.data(), strlen(buffer.data()) );  // in case you need the length of the data 

當(dāng)你真的需要將它復(fù)制為char*類型時(shí):

wxString mystring(wxT("HelloWorld")); char cstring[1024]; // assuming you want UTF-8, change the wxConv* parameter as needed strncpy(cstring, (const char*)mystring.mb_str(wxConvUTF8), 1023);

你也可以用ToUTF8(), 因?yàn)槟愕玫降木幋a比用mb_str()函數(shù)從const char*轉(zhuǎn)換成char*更加清楚。

wxString mystring(wxT("HelloWorld")); (const_cast<char*>((const char*)mystring.mb_str()))

在可變參數(shù)的函數(shù) (如printf)中用mb_str()函數(shù)將無(wú)效,但按以下的方法是有效的:

wxString mystring(wxT("HelloWorld")); printf("%s",mystring.mb_str().data());

做為選擇,使用Potential Unicode Pitfalls中推薦的方法:

printf("%s", (const char*)mystring.mb_str())

wchar_t* to wxString

const wchar_t* chars = L"Hello world"; wxString mystring(chars);

wxString to wchar_t*

請(qǐng)翻閱官方文檔的以下方法:

wxString::wc_str() wxString::wchar_str()

 

wxString to TCHAR

TCHAR tCharString[255]; wxString myString(_T("Hello World")); const wxChar* myStringChars = myString.c_str(); for (int i = 0; i < myString.Len(); i++) {    tCharString[i] = myStringChars [i]; } tCharString[myString.Len()] = _T('\0');

int to wxString

wxString mystring = wxString::Format(wxT("%i"),myint);

或者

wxString mystring; mystring << myint;

float to wxString

wxString mystring = wxString::Format(wxT("%f"), myfloat);

或者

wxString mystring; mystring << myfloat;

wxString to integer number

wxString number(wxT("145")); long value; if(!number.ToLong(&value)) { /* error! */ }

或者

wxString str = _T("123"); int num;   num = wxAtoi(str);

wxString to floating-point number

wxString number(wxT("3.14159")); double value; if(!number.ToDouble(&value)){ /* error! */ }

std::string to wxString

std::string stlstring = "Hello world"; // assuming your string is encoded as UTF-8, change the wxConv* parameter as needed wxString mystring(stlstring.c_str(), wxConvUTF8);

從wxWidgets 2.9開(kāi)始, 你可以用適當(dāng)?shù)臉?gòu)造函數(shù):

std::string stlstring = "Hello world"; // assuming your string is encoded as the current locale encoding (wxConvLibc) wxString mystring(stlstring);

wxString to std::string

在wxWidgets 2.8 :

wxString mystring(wxT("HelloWorld")); std::string stlstring = std::string(mystring.mb_str());

在wxWidgets 2.9, 你可以用這個(gè)方法

wxString::ToStdString()

std::wstring to wxString

從wxWidgets 2.9開(kāi)始, 你可以用適當(dāng)?shù)臉?gòu)造函數(shù):

std::sstring stlstring = L"Hello world"; // assuming your string is encoded as the current locale encoding (wxConvLibc) wxString mystring(stlstring);

wxString to std::wstring

在wxWidgets 2.9, 你可以用這個(gè)方法

wxString::ToStdWstring()


附:(數(shù)據(jù)庫(kù)類型)

" src="/CuteSoft_Client/CuteEditor/Images/anchor.gif">wxString 轉(zhuǎn) _bstr_t
 

wxString str(wxT("Hello")); _bstr_t mystring=_bstr_t(str.wc_str()); 

" src="/CuteSoft_Client/CuteEditor/Images/anchor.gif">_bstr_ 轉(zhuǎn) wxString
_bstr_t bstr="hello"; wxString mystring = wxString(static_cast<const wchar_t *>(bstr)); 

" src="/CuteSoft_Client/CuteEditor/Images/anchor.gif">_variant_t 轉(zhuǎn) wxString

_variant_t  varstr=_variant_t("Hello"); wxString mystring=wxString(static_cast<const wchar_t *>(_bstr_t(varstr))); 

" src="/CuteSoft_Client/CuteEditor/Images/anchor.gif">wxString 轉(zhuǎn) _variant_t

wxString str(wxT("Hello")); _variant_t myvar=_variant_t(str.wc_str()); 

 

本文翻譯自wxWidgets官方:http://wiki.wxwidgets.org/Converting_everything_to_and_from_wxString

posted on 2013-08-10 09:29 多彩人生 閱讀(4493) 評(píng)論(1)  編輯 收藏 引用

評(píng)論

# re: wxWidgets中wxString各類型轉(zhuǎn)換[未登錄](méi) 2014-01-16 22:30 Zero

你好,我看到你研究WX很深入的,我們公司開(kāi)發(fā)用的是WX,有沒(méi)興趣來(lái)我們公司?我們公司在深圳,有興趣的話,可以聯(lián)系我:zeroliql@gmail.com
  回復(fù)  更多評(píng)論   


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日本簧片| 另类专区欧美制服同性| 国产精品一区二区男女羞羞无遮挡 | 一区二区三区av| 亚洲麻豆av| 中日韩视频在线观看| 亚洲欧美日韩国产成人精品影院| 欧美激情第3页| 91久久极品少妇xxxxⅹ软件| 久久久www免费人成黑人精品 | 国产精品久久精品日日| 国产免费成人| 狠狠色2019综合网| 亚洲靠逼com| 亚洲你懂的在线视频| 久久夜色精品国产亚洲aⅴ| 亚洲国产成人91精品| 亚洲一区二区三区精品视频| 久久久精品一品道一区| 欧美剧在线免费观看网站| 国产精品久久久亚洲一区 | 欧美α欧美αv大片| 欧美人与性动交a欧美精品| 国产精品视频一区二区三区| 国产性做久久久久久| 亚洲九九九在线观看| 久久综合中文| 男女激情久久| 亚洲一区bb| 免费久久精品视频| 亚洲高清在线视频| 亚洲乱码视频| 久久久久国产精品麻豆ai换脸| 欧美高清在线一区二区| 国内激情久久| 亚洲女人av| 亚洲国产精品一区二区久| 欧美在线91| 欧美午夜激情小视频| 在线观看视频一区| 亚洲在线播放| 欧美高清视频一区| 久久本道综合色狠狠五月| 国产精品伦理| 一区二区三区欧美成人| 亚洲高清二区| 欧美a级一区二区| 在线观看福利一区| 亚洲欧美日韩国产一区| 一本到12不卡视频在线dvd| 久久中文久久字幕| 在线成人激情视频| 午夜一区不卡| 亚洲在线播放电影| 国产精品白丝jk黑袜喷水| 亚洲精品欧美在线| 欧美国产欧美亚洲国产日韩mv天天看完整| 中文一区在线| 国产精品欧美一区二区三区奶水| 亚洲一区二区三区中文字幕| 亚洲乱码国产乱码精品精| 欧美极品一区二区三区| 亚洲国产美女精品久久久久∴| 久久伊人亚洲| 久久精品九九| 国语对白精品一区二区| 久久精品国亚洲| 欧美一区二视频| 狠狠综合久久av一区二区老牛| 久久久精品日韩欧美| 欧美在线亚洲一区| 黄色成人av| 欧美国产日本| 欧美激情在线观看| 在线性视频日韩欧美| 美国十次了思思久久精品导航| 亚洲综合视频网| 国产美女精品一区二区三区 | 亚洲一级特黄| 国产精品ⅴa在线观看h| 亚洲图片在区色| 亚洲曰本av电影| 国产裸体写真av一区二区| 奶水喷射视频一区| 国产精品jizz在线观看美国| 亚洲精品视频免费观看| 日韩一区二区免费高清| 国产伦理一区| 久久精品盗摄| 久久永久免费| 午夜精品久久久久久久久| 欧美有码视频| 亚洲视频1区2区| 久久精品天堂| 99一区二区| 亚洲欧美日本精品| 最新成人av在线| 亚洲免费在线播放| 日韩视频一区二区三区在线播放免费观看| 夜夜嗨av色综合久久久综合网| 国产精品系列在线播放| 亚洲国产成人在线| 国产日本精品| 一本高清dvd不卡在线观看| 亚洲大片av| 欧美一级播放| 亚洲欧美国产视频| 欧美激情一区二区三区在线视频观看| 久久av最新网址| 欧美日韩成人激情| 久久亚洲一区二区三区四区| 欧美日韩不卡| 欧美成人免费观看| 国产精品视频网站| 9l国产精品久久久久麻豆| 亚洲第一区色| 欧美一区二区三区婷婷月色 | 欧美性做爰毛片| 欧美成va人片在线观看| 国产欧美va欧美不卡在线| 欧美一区二区大片| 蜜臀久久99精品久久久画质超高清 | 久久久国产一区二区| 亚洲精品日韩在线观看| 久久久综合免费视频| 欧美专区一区二区三区| 欧美性淫爽ww久久久久无| 亚洲精品日韩在线观看| 狠狠色综合色综合网络| 亚洲女人天堂av| 亚洲一区尤物| 欧美日韩亚洲一区三区| 亚洲精品黄网在线观看| 亚洲精品系列| 欧美激情精品久久久久久久变态 | 国产精品美女久久久久av超清| 亚洲日本免费| 亚洲视频1区2区| 欧美三级电影网| 99精品视频网| 亚洲社区在线观看| 国产综合色在线| 亚洲午夜91| 久久久99免费视频| 国产亚洲一本大道中文在线| 欧美一区二区视频观看视频| 久久激情五月丁香伊人| 狠狠入ady亚洲精品| 久久午夜视频| 91久久极品少妇xxxxⅹ软件| 99v久久综合狠狠综合久久| 欧美裸体一区二区三区| 最新亚洲激情| 日韩一二三区视频| 欧美精品在线视频观看| 一区二区免费在线播放| 欧美一区二区三区婷婷月色| 伊人久久综合| 欧美高清在线观看| 亚洲新中文字幕| 久久久久久久网| 亚洲美女中出| 国产美女精品人人做人人爽| 久久人人爽人人爽爽久久| 亚洲激情不卡| 先锋a资源在线看亚洲| 国产午夜精品久久久久久久| 久久综合九色综合网站| 欧美**字幕| 国产欧美综合在线| 老牛影视一区二区三区| 亚洲精品美女| 小黄鸭精品密入口导航| 国内自拍一区| 欧美激情亚洲视频| 亚洲免费一在线| 免费观看一区| 亚洲小视频在线观看| 国产日韩精品一区| 欧美激情在线有限公司| 亚洲午夜精品久久久久久app| 性色av一区二区三区红粉影视| 一区在线播放视频| 欧美视频免费看| 久久人91精品久久久久久不卡| 夜夜嗨一区二区三区| 欧美一级在线视频| 亚洲国产精品激情在线观看| 国产精品久久久久久久9999 | 国模叶桐国产精品一区| 免费在线观看成人av| 亚洲一区二区黄色| 亚洲电影免费观看高清| 亚洲视频在线观看| 亚洲高清在线| 韩国自拍一区| 国产精品社区| 欧美日韩一视频区二区| 欧美77777| 久久精品亚洲乱码伦伦中文|