error C2664: 'OutputDebugStringW' : cannot conv...

错误信息:error C2664: 'OutputDebugStringW' : cannot convert parameter 1 from 'char [100]' to 'LPCWSTR'
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast ui

相关代码: 编码

  if(i>1){
   sprintf(msg,"1+...+%d=%d\n",i,sum);
   OutputDebugString(msg);
  }

找了一天资料,缘由锁定在字符的转换问题,搞版本的vs中,OutputDebugString要求一个wchar_t code

而不是char,而sprintf则须要char参数,那咱们是否是必定要经过字符转换解决问题呢? io

 

答案就是 OutputDebugStringA() ast

缘由: function

默认是Unicode方式,OutputDebugString会变成OutputDebugStringW。若是想用ANSI版本的,直接写OutputDebugStringA,或者设置工程属性,使用MBCS的编码集。
相关文章
相关标签/搜索