作者Ting1024 (無)
看板C_and_CPP
標題[討論] UNICODE版本
時間Tue May 17 21:14:42 2011
討論一下
如果說寫一個 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:是 05/18 09:04
→ loveme00835:啊! 發現不小心改掉 signature 了 =P 05/18 09:05