VS2013的程序弄到codeblocks上面,出错,该如何解决

乐百川 2014-06-09 09:18:04
	wchar_t *towchar(const char*Cstr)
{
size_t len = strlen(Cstr) + 1;
size_t converted = 0;
wchar_t *WStr;
WStr = (wchar_t*)malloc(len*sizeof(wchar_t));
mbstowcs_s(&converted, WStr, len, Cstr, _TRUNCATE);
return WStr;
}

这是odbc连接数据库时候把char字符数组转化成wchar_t型的,内存泄露问题就无视吧……弄到Codeblocks里面出错,我把_s和_TRUNCATE都去掉会显示错误error: cannot convert 'size_t* {aka unsigned int*}' to 'wchar_t*' for argument '1' to 'size_t mbstowcs(wchar_t*, const char*, size_t)'|
怎么办呀求助
...全文
155 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
super_admi 2014-06-10
  • 打赏
  • 举报
回复
去掉_s,使用mbstowcs是可行的。但 参数类型和个数都所有变化,需要调整。
super_admi 2014-06-10
  • 打赏
  • 举报
回复
可以考虑用WIN32 API,或者这哥们说的iconv。不过WIN32API要简单些--损失了跨平台。
引用 1 楼 merlinfang 的回复:
别用系统函数,用iconv之类
merlinfang 2014-06-09
  • 打赏
  • 举报
回复
别用系统函数,用iconv之类

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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