作者legnaleurc (CA)
看板LinuxDev
標題Re: QString 與中文字串
時間Wed Feb 18 13:04:12 2009
※ 引述《lcp (沒有暱稱)》之銘言:
: 後來我是用另外的方式繞過:
: QString q_str = ....
: string str = q_str.toLocal8Bit().data();
: func(str);
: 可是總覺得好像不夠漂亮....:X
: 不知道有沒有前輩遇到過這類的問題。
要看你的string要用在哪裡
如果是用在字面用途(比方說寫到檔案裡或是要給使用者看的資料)
最好用QString::toUtf8()
如果是用在和系統溝通(比方說std::ifstream)
才使用QString::toLocal8Bit()
如果只會在程式內部用到,不會傳播到外部的話
可以考慮QString::toStdWString()
不過wchar_t有其他麻煩的地方
PS:
QString::toStdString()預設是使用QString::toAscii()
有可能漏失字元
--
自High筆記(半荒廢)
http://legnaleurc.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.146.194.91
推 lcp:多謝解說,我是要把路徑給另一個 class,所以我用toLocal8Bit 02/18 14:17
→ lcp:看來是正確的:) 02/18 14:17