E2034 Cannot convert 'wchar_t *' to 'const char *'

天河落落 2010-08-08 03:00:51
E2034 Cannot convert 'wchar_t *' to 'const char *' bcb2010怎么修改啊
...全文
1766 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jiesir_pb 2011-11-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhouzhangkui 的回复:]
2009和2010使用的是unicode码
字符串前加L 表示宽字节
如: L"你好";
[/Quote]

正解!
xiaobai341 2010-08-09
  • 打赏
  • 举报
回复
也遇到了这个问题,想把字符串CString 转成char *,不知道该怎么做,高手指点啊~~谢谢啦
我用了下面的代码,出现跟楼主一样的错误。
char * pc=new char (tmp.GetLength()+1);
strncpy(pc,tmp.GetBuffer(tmp.GetLength()),tmp.GetLength());
pc[temp.GetLength()]='\0';
hind24 2010-08-09
  • 打赏
  • 举报
回复
不结贴就想跑?
周药师 2010-08-09
  • 打赏
  • 举报
回复
lz 消失
鉴定完毕
xiaobai341 2010-08-09
  • 打赏
  • 举报
回复
我解决了,用了CString str;
char * p=str.GetBuffer();
将项目-》属性-》项目默认值-字符集改成 使用多字节字符集,然后重新生成解决方案,就好了。
ccrun.com 2010-08-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mini_peng 的回复:]
你用的是宽字符,可以用String的t_str()将宽字符串转为char 型字符串
[/Quote]

如果使用t_str(),必须保证工程选项中_TCHAR映射为char才能返回char *数据。
牧牛童子 2010-08-08
  • 打赏
  • 举报
回复
你用的是宽字符,可以用String的t_str()将宽字符串转为char 型字符串
YeBinYe 2010-08-08
  • 打赏
  • 举报
回复
用AnsiString来中转
hind24 2010-08-08
  • 打赏
  • 举报
回复
如果想得到char *类型的字符串,可以用AnsiString转化原UnicodeString字符串,再用c_str()输出
周药师 2010-08-08
  • 打赏
  • 举报
回复
2009和2010使用的是unicode码
字符串前加L 表示宽字节
如: L"你好";

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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