【发布时间】:2016-08-10 07:06:03
【问题描述】:
我寻求如何使用winsock API的recv函数从HTTP请求中接收二进制数据。
我对 std::string 和 string.append() 没有任何问题 但我的程序不需要依赖。
有人知道如何仅使用 char* 缓冲区获得相同的结果吗?
do {
iRecv = recv(m_socket, recvBuffer, MAX_BUFFER, 0);
if ( iRecv > 0 )
{
//Need to override std::string with pure WINAPI
response.append(recvBuffer, iRecv);
iResponseLength += iRecv;
xZeroMemory(recvBuffer, MAX_BUFFER);
}
} while( iRecv > 0 );
【问题讨论】:
-
std::string能够很好地保存二进制数据,但是您可能会发现使用std::vector<uint8_t>更方便。