求方法!E2034 cannot convert 'wchar_t*' to 'const char*'

willpufo 2013-03-26 10:45:42
char line[1024];

UnicodeString strMychar;

strMychar= line + '\0';

if (strcmp(strMychar.SubString(3,8).c_str(),"NEWLOG:") !=0)
{
}

CB XE 下,报错:cannot convert 'wchar_t*' to 'const char*'

如何修正,求明示,谢!!!


...全文
935 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
洛川子 2014-05-15
  • 打赏
  • 举报
回复
顶6楼
ccrun.com 2013-03-26
  • 打赏
  • 举报
回复
或者:
if (wcscmp(strMychar.SubString(3, 8).c_str(), L"NEWLOG:") != 0)
或者:
if (!SameText(strMychar.SubString(3, 8), L"NEWLOG:"))
ccrun.com 2013-03-26
  • 打赏
  • 举报
回复
改成:
 if (strcmp(AnsiString(strMychar.SubString(3, 8)).c_str(), "NEWLOG:") != 0)
willpufo 2013-03-26
  • 打赏
  • 举报
回复
引用 4 楼 zhouzhangkui 的回复:
C/C++ code?123 if (strcmp(strMychar.SubString(3,8).c_str(),L"NEWLOG:") !=0) { }
我这样试过,仍报错
周药师 2013-03-26
  • 打赏
  • 举报
回复

  if (strcmp(strMychar.SubString(3,8).c_str(),L"NEWLOG:") !=0)
                 {
                 }
willpufo 2013-03-26
  • 打赏
  • 举报
回复
Declarations: WideChar* __fastcall c_str() const { return (Data)? Data: const_cast<WideChar*>(L"");} inline int _RTLENTRYF strcmp(const char _FAR *__s1, const char _FAR *__s2) { return __strcmp__(__s1, __s2); }
willpufo 2013-03-26
  • 打赏
  • 举报
回复
我愚钝啊,哪里加?
周药师 2013-03-26
  • 打赏
  • 举报
回复
unicode问题 字符串前加L 表示宽字节 如: L"你好";
缘中人 2013-03-26
  • 打赏
  • 举报
回复
都全了,L 字符串表示 L 把字符串转换成unicode字符串 'wchar_t*
春华-秋实 2013-03-26
  • 打赏
  • 举报
回复
AnsiString

13,825

社区成员

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

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