string -> qstring
1std::
string
strstd ="
中文字元";
2qstring strq
=qstring::fromlocal8bit(strstd.c_str());
qstring -> string
1qstring strq(
"中文字元");
2std::
string
strstd
=strq.tostdstring();
3qtextcodec
*code
=qtextcodec::codecforname(
"gb18030");
4//如果code為0,表示在執行的機器上沒有裝gb18030字符集。不過一般的中文windows系統中都安裝了這一字符集5if
(code) strstd
=code
->
fromunicode(strq).data();
有時候用ifstream或ofstream開啟帶有中文路徑的檔案會失敗。
解決辦法:
1、使用c語言的函式設定為中文執行環境
setlocale(lc_all,"chinese-simplified");
2、使用stl函式設定為系統語言環境
std::locale::global(std::locale(""));
當然選2啦!
1.最近程式設計採用c 檔案操作來讀入乙個檔案,**:
ifstream inf;
inf.open(strpath); //通過檔案路徑開啟檔案
當檔案路徑strpath中帶有中文時程式執行錯誤,導致卡死,後來終於弄清用c 方法開啟帶中文路徑的檔案時會有bug,誰叫這東東是老外寫的呢,但是通過下面的方法可以解決,如**:
ifstream inf; //c 方式開啟檔案
locale::global(locale("")); //將全域性區域設為作業系統預設區域
inf.open(strpath); //通過檔案路徑開啟檔案
locale::global(locale("c")); //還原全域性區域設定string -> qstring
1std::
string
strstd ="
中文字元";
2qstring strq
=qstring::fromlocal8bit(strstd.c_str());
qstring -> string
1qstring strq(
"中文字元");
2std::
string
strstd
=strq.tostdstring();
3qtextcodec
*code
=qtextcodec::codecforname(
"gb18030");
4//如果code為0,表示在執行的機器上沒有裝gb18030字符集。不過一般的中文windows系統中都安裝了這一字符集5if
(code) strstd
=code
->
fromunicode(strq).data();
有時候用ifstream或ofstream開啟帶有中文路徑的檔案會失敗。
解決辦法:
1、使用c語言的函式設定為中文執行環境
setlocale(lc_all,"chinese-simplified");
2、使用stl函式設定為系統語言環境
std::locale::global(std::locale(""));
當然選2啦!
1.最近程式設計採用c 檔案操作來讀入乙個檔案,**:
ifstream inf;
inf.open(strpath); //通過檔案路徑開啟檔案
當檔案路徑strpath中帶有中文時程式執行錯誤,導致卡死,後來終於弄清用c 方法開啟帶中文路徑的檔案時會有bug,誰叫這東東是老外寫的呢,但是通過下面的方法可以解決,如**:
ifstream inf; //c 方式開啟檔案
locale::global(locale("")); //將全域性區域設為作業系統預設區域
inf.open(strpath); //通過檔案路徑開啟檔案
locale::global(locale("c")); //還原全域性區域設定
python中string和bytes互轉
首先來設定乙個原始的字串,python 3.2.3 default,apr 11 2012,07 15 24 msc v.1500 32bit intel on win32 type help credits or license for more information.website type ...
QString和string型別相互轉換
在使用qt和c 進行開發的時候,由於兩者的資料型別不完全相同,需要進行轉換。下面介紹qstring和string型別相互轉換的方法。qt4.6上已測試可用。1 在標頭檔案中新增inlucde資訊和轉換函式宣告 cpp view plain copy include include include i...
QString和string型別相互轉換
在使用qt和c 進行開發的時候,由於兩者的資料型別不完全相同,需要進行轉換。下面介紹qstring和string型別相互轉換的方法。qt4.6上已測試可用。1 在標頭檔案中新增inlucde資訊和轉換函式宣告 cpp view plain copy include include include i...