全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1665
推到 Plurk!
推到 Facebook!

C++ builder XE的差異

答題得分者是:aftcast
wendyht
一般會員


發表:6
回覆:7
積分:2
註冊:2010-10-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-05-03 12:20:53 IP:59.120.xxx.xxx 訂閱
最近換了C++ builder XE但是執行以下程式卻會出錯,但在6.0卻不會

strlen(Edit1->Text.c_str())

但在XE版本卻會得到 Cannot convert 'wchar_T*' to 'const char *'

請問要如何解決?
aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-05-03 12:28:38 IP:210.64.xxx.xxx 訂閱
XE是unicodestring為預設。所以 Edit1->Text.c_str() 是一個  寬字元的 指標。  故不能用。

若你確定你要的是 char * 的指標。那就先

AnsiString as = Edit1->Text;

strlen(as.c_str());

===================引 用 wendyht 文 章===================
最近換了C builder XE但是執行以下程式卻會出錯,但在6.0卻不會

strlen(Edit1->Text.c_str())

但在XE版本卻會得到 Cannot convert 'wchar_T*' to 'const char *'

請問要如何解決?
------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
系統時間:2017-10-22 20:03:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!