当前位置: 首页>>代码示例>>C++>>正文


C++ StringObject::strcat方法代码示例

本文整理汇总了C++中StringObject::strcat方法的典型用法代码示例。如果您正苦于以下问题:C++ StringObject::strcat方法的具体用法?C++ StringObject::strcat怎么用?C++ StringObject::strcat使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在StringObject的用法示例。


在下文中一共展示了StringObject::strcat方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: readMimeResponse

//////////////////////////
//	Read header & populate string with body
//////////////////////////
bool CMimeProtocol::readMimeResponse(int link,CHARPTR headers,int size,StringObject& content)
{
	CHAR buffer[CBUFF_HUGE+2];

	CHARPTR ptrHeadEnd;
	CHARPTR ptrContLen;

	int read=0;
	int bytes;

	//	1st read headers
	while(true){

		//	Wait
		if(!waitForEvent(link,10000)){

			content.strcpy(headers);
			return read > 0;
		}
				
		//	Read next lot
		if((bytes = recvTcp(link,&headers[read],size-read)) <= 0)
			return false;

		read+=bytes;
		headers[read]=0;
	
		//	Check for header & body
		ptrHeadEnd=strstr(headers,"\r\n\r\n");
		
		//	No header yet
		if(ptrHeadEnd)
			break;
	}

	ptrContLen=strstr(headers,"Content-Length: ");
	int contentLength;

	//	Terminate
	*ptrHeadEnd=0;

	//	Header & nobody - copy headers
	if(!ptrContLen){

		//	Just keep reading until server closes connection
		contentLength=128000;
		content.strcpy(headers);
	}
	else{

		//	Get content length
		if(!strparse(ptrContLen,"Content-Length: %1d",&contentLength))
			return false;

		//	Skip to start of body
		ptrHeadEnd += strlen("\r\n\r\n");
		content.strcpy(ptrHeadEnd);
	}

	//	Calculate remaining
	read = strlen(ptrHeadEnd);

	while(read < contentLength){
		
		//	Read next lot
		if((bytes = recvTcp(link,buffer,CBUFF_HUGE)) <= 0){

			switch(bytes){

				//	Remote closure
				case 0:
				return true;

			 	// Error - check
				default:
				switch(OSALASTERROR){

					//	No data to read - try again
		 			case OSAWOULDBLOCK:

						if(!waitForEvent(link,2000))
							return false;
			 
 					continue;

					// Oh oh
		 			default:
					return false;
				}
				break;
			}
		}

		buffer[bytes] = 0;
		read+=bytes;

		content.strcat(buffer);
//.........这里部分代码省略.........
开发者ID:davemccarthy,项目名称:snapdemo1,代码行数:101,代码来源:MimeProtocol.cpp


注:本文中的StringObject::strcat方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。