实用unicode字符库之后,调用一些库函数很多地方的类型需要转换:
不能将参数 1 从“char *”转换为“LPCTSTR”
不能将参数 2 从“char”转换为“const char *”使用unicode有什么好处吗?怎么才能一劳永逸的解决这些字符转换的问题。

解决方案 »

  1.   

    LPCTSTR或者LPTSTR传TCHAR*类型,LPCSTR或LPSTR用char*类型,LPCWSTR货LPWSTR用WCHAR*类型。
    字符间转换可以用A2T,T2A,W2T,T2W,等等,但是之前要调用USES_CONVERSION;
      

  2.   

    用到LPCTSTR参数的用CString传递char szText[1024] = "dddd";CString strText = szText;再把strText作为参数传递用到char *的地方用下面的:USES_CONVERSION;
    std::string =(char*)W2A((LPCTSTR)strText);要包含头文件 
    #include <atlconv.h> 
    #include <string>
      

  3.   

    库函数一样有UNCODE版本,用那个吧。不能将参数 2 从“char”转换为“const char *”
    一个是指针,一个是char,这个你用啥都转不了。
      

  4.   

    库函数一般都会有对应的unicode或者tchar的版本,使用这些即可。