本文整理匯總了C++中XString::ToUInt方法的典型用法代碼示例。如果您正苦於以下問題:C++ XString::ToUInt方法的具體用法?C++ XString::ToUInt怎麽用?C++ XString::ToUInt使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類XString
的用法示例。
在下文中一共展示了XString::ToUInt方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: _ReadChunkedBody
void ClientSideResponse::_ReadChunkedBody(XRef<XStreamIO> socket)
{
char lineBuf[MAX_HEADER_LINE+1];
bool moreChunks = true;
while(moreChunks)
{
memset(lineBuf, 0, MAX_HEADER_LINE+1);
_ReadHeaderLine(socket, lineBuf, false);
if(lineBuf[0] == '0')
{
_ConsumeFooter(socket);
return;
}
if(_EmbedNull(lineBuf))
{
const XString chunkLenS = lineBuf;
const uint32_t chunkLen = chunkLenS.ToUInt(16);
// We read our chunk into a temporary "chunk" XMemory object, we then optionally
// call our "chunk callback" function... Finally, we copy the new chunk into the
// main body contents object.
_chunk->Clear();
if(!_ReceiveData(socket, &_chunk->Extend(chunkLen), chunkLen))
X_STHROW(WebbyException, ("Failed to read data from socket->"));
// call callback here...
if(_ch)
moreChunks = _ch(_chunkHandlerContext, _chunk, *this);
// We only append a chunk to our "_bodyContents" if we are not streaming (
// because "streams" potentially have no end, so an XMemory that contains the
// complete body contents would just grow forever).
if(!_streaming)
memcpy(&(_bodyContents->Extend(chunkLen)), _chunk->Map(), chunkLen);
_ReadEndOfLine(socket);
}
}
}