看板 C_and_CPP 關於我們 聯絡資訊
討論一下 如果說寫一個 Wapper 去包一個ASCII版本的DLL, 姑且叫 getRow(char* buf, int& len); Wapper 是這樣的 CString Wap_GetRow(char* buf,int len) { getRow(buf,len); CString tmpStr=buf; return tmpStr; } 現在問題來了, 客戶端呼叫我的版本時... CString str=Wap_GetRow(...); //相當方便 雖然可以支援 ASCII版本與UNICODE版本... 但如果要標準化,勢必不能使用 CString 這種VC專用的。 那麼,是否有更標準的做法,讓C++各種平台都能使用呢? 光是取得的 buf 要用標準方法支援ASCII,UNICODE好像 有點麻煩..又不好讓客戶端自己取得ASCII字串再自己去轉, 這樣似乎就不像一個好的WAPPER了。 討論討論,希望上面的描述很清楚。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.141.45.226
awashharp:推然跟程式沒什麼相關…不過應該是叫wrapper不是嗎? 05/17 21:18
awashharp:雖... 05/17 21:18
Ting1024:XD 看得懂就好了啦 XDDDD 05/17 21:19
awashharp:(自己會注意這點是因為之前都把它拼成warpper...XDDDD) 05/17 21:21
purpose:你的目的是用 Wap_GetRow 把 getRow 的結果轉 Unicode? 05/17 21:28
uranusjr:別拼成 Whopper 就好了 05/17 21:35
lwecloud:改用STL的string如何? 05/17 21:41
lwecloud:如果wrapper同時提供ANSI及UNICODE版本呢? 05/17 21:43
Ting1024:stl可以考慮...分開提供好像很遜..不予考慮 05/17 22:57
loveme00835:http://goo.gl/NsBhl 標準的作法, 不過IO支援還很差就 05/18 09:04
loveme00835:是 05/18 09:04
loveme00835:啊! 發現不小心改掉 signature 了 =P 05/18 09:05