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的編碼集。
相關文章
相關標籤/搜索