[問題] 關於引用變數問題

看板C_and_CPP (C/C++)作者 (Roger)時間11年前 (2015/05/19 23:01), 11年前編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC 問題(Question): 最近在做使用別人的library去開發,最近遇到一個問題 有使用到library去定義的參數,宣告如下- AAA_CString test1; 接著想在MFC工具列下創造一個edit control與變數,去接test1這個參數 後來不管怎麼試,都出現無法把AAA_CString轉換成CString。想請問該怎麼去轉換呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.193.205 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1432047679.A.610.html

05/19 23:02, , 1F
等下~ typedef 在哪? @@
05/19 23:02, 1F

05/19 23:09, , 2F
說好的typedef咧
05/19 23:09, 2F
※ 編輯: williamsm (1.164.210.161), 05/20/2015 22:28:40

05/20 23:27, , 3F
看不太懂你想問的問題 大概猜測你是想用別人重新包裝過
05/20 23:27, 3F

05/20 23:27, , 4F
的控件? 那就在控件加入變數的地方 把class改成別人包
05/20 23:27, 4F

05/20 23:27, , 5F
好的類別就好了吧?
05/20 23:27, 5F
補充,實際宣告如下- typedef char A_CHAR; typedef A_CHAR* A_STRING; 在MFC下工具箱加了edit control 目的是希望可以在EDIT CONTROL下輸入ip(或其他參數),丟給宣告成A_STRING的變數用 接著把EDIT CONTROL的變數類型定義為A_STRING、變數名稱設為test1 去compile後出現如下error訊息 [error C2664: 'void DDX_Control(CDataExchange *,int,CWnd &)' : 無法將引數 3 從 'CHR_STRING' 轉換為 'CWnd &'] 想請教該怎麼定義才會正確使用呢?謝謝 ※ 編輯: williamsm (1.164.210.161), 05/21/2015 00:16:37

05/22, , 6F
完全是parameter弄錯了吧
05/22, 6F
自己回一下自己的解法,把CString轉成被typedef宣告後的宣告類型 接著就直接引用它,我的說法可能有點不太精準,請參考下面 CString A; int sizeOfA = (A.GetLength() + 1); LPTSTR pStrTmp1 = new TCHAR[sizeOfSA]; _tcscpy_s(pStrTmp1, sizeOfA, A); wcstombs_s(&i1, str1, 16, pStrTmp1, 16); 接著str1就可以丟到帶有被typedef的參數裡,給function引用 若有大大有更好的做法再請指教唷 ※ 編輯: williamsm (36.229.162.35), 05/25/2015 22:37:11

05/26 23:37, , 7F
所以你只是要問CString 怎麼轉成char*嗎? 如果只是要這
05/26 23:37, 7F

05/26 23:38, , 8F
樣 GetBuffer就可以了吧?
05/26 23:38, 8F
文章代碼(AID): #1LMr0_OG (C_and_CPP)
文章代碼(AID): #1LMr0_OG (C_and_CPP)