急!字符转换问题

kone123 2010-01-05 01:24:40
MFC 单文档应用程序,char curt[4]="";CString str2;str2="23"
sprintf_s(curt,sizeof(curt),"%s",str2);怎么转换后数组中只有2,而不是23?问题出在哪?
...全文
82 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
yemingwy 2010-01-05
  • 打赏
  • 举报
回复


char curt[4]="";CString str2;str2="23" ;
sprintf(curt,"%s",str2);

kone123 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 gdstcwl 的回复:]
上面一个是多字节的,另一个是unicode编码的
[/Quote]
unicode编码下,还有其它的方法吗?
kone123 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 gdstcwl 的回复:]
C/C++ codechar temp[4];
CString str= _T("23");char* pchar= str.GetBuffer(0);
strcpy(temp,pchar);char temp[4];
CString str= _T("23");
USES_CONVERSION;char* pchar= _T("");
pchar= W2?-
[/Quote]
谢谢,第二个可以
gdstcwl 2010-01-05
  • 打赏
  • 举报
回复
上面一个是多字节的,另一个是unicode编码的
gdstcwl 2010-01-05
  • 打赏
  • 举报
回复

char temp[4];
CString str = _T("23");
char* pchar = str.GetBuffer(0);
strcpy(temp,pchar);


char temp[4];
CString str = _T("23");
USES_CONVERSION;
char* pchar = _T("");
pchar = W2A(str);
strcpy(temp,pchar);
kone123 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 na_he 的回复:]
sprintf_s(curt,4,"%s",str2);
看一下sizeof(curt) 的值是多少了
[/Quote]
值为4,还是 不行
hejian2266 2010-01-05
  • 打赏
  • 举报
回复
sprintf_s(curt, str2.GetLength() + 1 ,"%s", str2.GetBuffer());
na_he 2010-01-05
  • 打赏
  • 举报
回复
sprintf_s(curt,4,"%s",str2);
看一下sizeof(curt) 的值是多少了
kone123 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 gaoqizongpan 的回复:]
memcpy(curt,str2,str2.getBuffer(str2.getLength())+1);
[/Quote]
不行
gaoqizongpan 2010-01-05
  • 打赏
  • 举报
回复
memcpy(curt,str2,str2.getBuffer(str2.getLength())+1);
kone123 2010-01-05
  • 打赏
  • 举报
回复
还是 不行
yschenwei 2010-01-05
  • 打赏
  • 举报
回复
CString 要获取长度不能用sizeof,这样得到的是4,是指针的长度。
可以用CString 的getlength。
[Quote=引用 2 楼 gaoqizongpan 的回复:]
sprintf_s(curt,sizeof(str2)+1 ,"%s",str2);
[/Quote]
sandyandy 2010-01-05
  • 打赏
  • 举报
回复
strcpy(curt, str2);
kone123 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gaoqizongpan 的回复:]
sprintf_s(curt,sizeof(str2)+1 ,"%s",str2);
[/Quote]
一样的效果,还是不行
yschenwei 2010-01-05
  • 打赏
  • 举报
回复
sprintf_s(curt,"%s",str2);
gaoqizongpan 2010-01-05
  • 打赏
  • 举报
回复
sprintf_s(curt,sizeof(str2)+1 ,"%s",str2);
gaoqizongpan 2010-01-05
  • 打赏
  • 举报
回复
sprintf_s(curt,sizeof(str2)+1 ,"%s",str2);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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