[問題] String內有未知內容,導致非法寫入記憶體
看板C_and_CPP (C/C++)作者f814030 (f814030買者會視接單數量)時間11年前 (2015/04/23 18:43)推噓6(6推 0噓 21→)留言27則, 3人參與討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++ builder XE7
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
廠商提供的dll
問題(Question):
#1 發表時間:2015-04-23 16:48:10 IP:211.72.xxx.xxx 訂閱
各位先進好,
小弟使用軟體版本為 c++ builder xe7
在淘寶買了某電子用品,而有附相關的dll來供我們二次開發,
但使用了dll 的function 之後,會回傳一個 String 字串,但在bcb 裡面只看到[ ????
],
個人清測是因為字碼的關係,只要這個 String 變數結束後,系統要清掉時,就會跑出「
非法寫入記憶體錯誤」,
試過想要把編碼轉換,但只要 String 變數的值賦于其它變數,系統也會出錯…
請問這該如何處理呢?
謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.14.43
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1429785780.A.899.html
→
04/23 19:00, , 1F
04/23 19:00, 1F
小弟很不想承認是xe7 的問題~"~…但也有這麼想過@@
推
04/23 19:08, , 2F
04/23 19:08, 2F
String 是function 回傳的資料,而看到的資料都是????,接口是wchar_t*。
※ 編輯: f814030 (123.205.14.43), 04/23/2015 19:10:20
推
04/23 19:32, , 3F
04/23 19:32, 3F
因為這個變數是區域變數,我若不理它,讓系統自已清掉這個變數,
那麼就會有非法寫入記憶體的錯誤,(抱歉,我忘記這個錯誤的英文是顯示什麼)請問
您有其它的方法可以清掉這個指標嗎?謝謝。
※ 編輯: f814030 (123.205.14.43), 04/23/2015 19:42:50
推
04/23 20:31, , 4F
04/23 20:31, 4F
→
04/23 20:32, , 5F
04/23 20:32, 5F
→
04/23 20:34, , 6F
04/23 20:34, 6F
→
04/23 20:34, , 7F
04/23 20:34, 7F
→
04/23 20:35, , 8F
04/23 20:35, 8F
→
04/23 20:36, , 9F
04/23 20:36, 9F
→
04/23 20:39, , 10F
04/23 20:39, 10F
→
04/23 20:40, , 11F
04/23 20:40, 11F
→
04/23 21:08, , 12F
04/23 21:08, 12F
→
04/23 21:09, , 13F
04/23 21:09, 13F
→
04/23 21:11, , 14F
04/23 21:11, 14F
→
04/23 21:12, , 15F
04/23 21:12, 15F
→
04/23 21:13, , 16F
04/23 21:13, 16F
→
04/23 21:14, , 17F
04/23 21:14, 17F
可惜的是,只有給dll,沒有給h檔…非常感謝L大及R大,
和小弟講了那麼多,我在調用DLL時,有使用 __stdcall,有加或無加結果都相同,
另外,如果廠商沒有提供刪除的接口,是否該指標就無法手動刪除了?
最後再次感謝您們不吝指教!小弟在試試看!
※ 編輯: f814030 (123.205.14.43), 04/23/2015 21:20:34
推
04/23 21:23, , 18F
04/23 21:23, 18F
→
04/23 21:24, , 19F
04/23 21:24, 19F
→
04/23 21:24, , 20F
04/23 21:24, 20F
→
04/23 21:25, , 21F
04/23 21:25, 21F
→
04/23 21:26, , 22F
04/23 21:26, 22F
→
04/23 21:26, , 23F
04/23 21:26, 23F
→
04/23 21:26, , 24F
04/23 21:26, 24F
推
04/23 21:30, , 25F
04/23 21:30, 25F
→
04/23 21:31, , 26F
04/23 21:31, 26F
推
04/23 21:35, , 27F
04/23 21:35, 27F
小弟後來試著把得到的String 轉成 utf8,
讓系統可以認得這文字,之後丟棄這變數,就不會出錯了!
感謝大家的指教!謝謝!
※ 編輯: f814030 (211.72.118.19), 04/24/2015 13:43:33
※ 編輯: f814030 (123.205.14.43), 04/24/2015 18:41:11
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章