高分求教,WINCE下字符转换问题。。

erben 2006-01-10 09:50:48
WINCE系统中,我从别处获得字符串: char* s=("中文"),现在要把s转换为CString s1,怎么转,我用MultiByteToWideChar和wchar_t pW1[10];wsprintf(pW1,("%S"),s);都不成功,麻烦大家帮忙!!

...全文
284 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
DrSmart 2006-01-14
  • 打赏
  • 举报
回复
L""
zhanghongbo1126 2006-01-13
  • 打赏
  • 举报
回复
你可以直接赋值
“s”是字符型指针
Cstring 也是字符型的
所以 你可以直接赋值
Cstring s1 = s;

你试一试!! 应该可以的。
北方大冬瓜 2006-01-13
  • 打赏
  • 举报
回复
最简单的方法是:

#include <atlconv.h>

char *s = "中文";
CString s1 ;

USES_CONVERSION;
s1.Format(_T("%s"), A2W(s));
samp_miao 2006-01-12
  • 打赏
  • 举报
回复
char *s="中文”;
CString s1(s);
samp_miao 2006-01-12
  • 打赏
  • 举报
回复
char *s="中文”;
CString s1 = CString(s);

这种方法是可以的,
int EncodeUcs2(const char * pSrc, unsigned char * pDst, int nSrcLength)
{
int nDstLength;
WCHAR wChar[255];

nDstLength = MultiByteToWideChar(CP_ACP, 0, pSrc, nSrcLength, wChar, 255);


nDstLength = WideCharToMultiByte(CP_ACP, 0, wchar, nSrcLength/2, pDst, 255, NULL, NULL);
也行的


mosen 2006-01-11
  • 打赏
  • 举报
回复
char *s="中文";
CString s1 ;
s1.Format(_T("%s"),s);
erben 2006-01-11
  • 打赏
  • 举报
回复
楼上方法是乱码,我早试过,这么简单我也不会跑来问,是unicode的问题
yangyzqo 2006-01-11
  • 打赏
  • 举报
回复
char *s="中文”;
CString s1 = CString(s);
mosen 2006-01-11
  • 打赏
  • 举报
回复
mbstowcs也行吧
erben 2006-01-10
  • 打赏
  • 举报
回复
就是转换后于CString s1=_T("中文")的s1结果不一致,是否转换成功??

19,498

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧