c++ - 指针新手

标签 c++

我需要将 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/

相关文章:

c++ OpenCV Rect大小增加

c++ - 共享内存中的std::mutex无法正常工作

c++ - 将 vector<vector<int>> 元素的值存储在单独的容器中

c++ - 有助于理解函数对象的工作原理?

c++ - 我如何向只用 Fortran 77 编码的人解释面向对象的编程?

C++:从子对象到父对象的信息传播

c++ - boost::variant 递归问题

c++ - 查找批号是否在多个间隔中的最快方法

c++ - "Not All Control Paths Return a Value"

c++ - 当样式为 WS_CHILD 时,通过 ps.rcPaint 查找脏区域不起作用