看你传递的字符串是WCHAR*、char* 还是string 了针对这些都有不同的字符串转换,string的 可以用strTemp.c_str(); WCHAR* 直接CString(strTemp)就行,如果是char* 就比较麻烦了,需要使用函数WideCharToMultiByte() 进行转化,具体转化方法你查查这个函数的用法吧。你这些问题是字符串转换的问题,在C++中使用Unicode的程序中很常见。
http://blog.csdn.net/luoyeaijiao/article/details/7266490;
不要使用带A或W的函数。字符声明采用TCHAR或TCHAR*这些。
这样可以实现ansi或unicode编码切换,代码零改动