我正在整理一些很久以前写过的代码,并将其放入方法之类,当我尝试从输入提示符中获取输入字符串和LPCWSTR以进行目录搜索时。通过引用传递LPCWSTR
void GetInfo(string &stdStr, LPCWSTR &wStr)
{
cout << endl << "Enter String: ";
getline(cin, stdStr);
string sTempP = stdStr;
#ifdef UNICODE
std::wstring wTemp = s2ws(stdStr);
wStr = wTemp.c_str();
#else
wStr = stdStr.c_str();
#endif
stdStr = sTempP;
return;
}
当我打电话
string directoryName;
LPCWSTR directory_Name;
GetInfo(directoryName, directory_Name);
性病串工作正常,但LPCWSTR给我的垃圾。他们都在这个方法中工作得很好,所以我想知道如何通过引用传递这个字符串奇怪地工作?
哦,我试着写一个函数,将一个std :: string转换为LPCWSTR并将该变量赋值给那个,但那也很奇怪。如果在主体中定义的代码工作正常,它只是当我遇到问题的函数内。
感谢,
弗雷泽
非常好!非常丰富,谢谢。 Win32 API编程不是我已经有很多经验,你可以告诉... – 2010-11-09 23:21:47