我需要将 cs
值放在对象 client
的括号内。我已经像这样处理了 cs
变量:
CString cs (bar_->GetHostName());
但仍然无法将值放入下面的代码中:
WinHttpClient client(/* dont know what value to put here */);
client.SendHttpRequest();
错误信息:
Error 1 error C2664: 'WinHttpClient::WinHttpClient(const std::wstring &)' : cannot convert parameter 1 from 'const char [15]' to 'const std::wstring &' c:\test.cpp
编辑:
CString cs (bar_->GetHostName());
WinHttpClient client(/*??*/);
client.SendHttpRequest();
wstring httpResponseHeader = client.GetHttpResponseHeader();
wstring httpResponse = client.GetHttpResponse();
writeToStorage(httpResponse.c_str());
我的函数 writeToStorage
假设要将内容写入文本文件。似乎覆盖了没有字符串的文件..我不知道为什么:(
最佳答案
看起来您正在使用 MFC 的 CString
,并且您想将 cs
传递给 WinHttpClient
。
这是你如何做的:
CString cs (bar_->GetHostName());
std::string s((LPCTSTR)cs);
WinHttpClient client(s);
client.SendHttpRequest();
如果 WinHttpClient 有一个接受 wchar* 的重载构造函数,那么您可以这样做:
CString cs (bar_->GetHostName());
WinHttpClient client(cs);
client.SendHttpRequest();
但是,如果您想像其他一些答案中提到的那样传递纯文本,请执行以下操作:
WinHttpClient client(_T("Text"));
client.SendHttpRequest();
在 Visual C++ 中,使用 _T
比使用 L
更好
关于c++ - 指针新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4121690/