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


C++ CharArray::GetData方法代码示例

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


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

示例1: ParseCode

CString Template::ParseCode(LPCTSTR codePtr, LPCTSTR bolPtr, WWhizTemplate* file)
{
	// Build our master string.
	CharArray buffer;

	// Remove leading whitespace.
	while (*codePtr != 0  &&  *codePtr != '\n'  &&  *codePtr == ' ')
	{
		codePtr++;
	}
		
	TokenHelper helper;
	helper.m_tabSize = 4;
	helper.m_outBolPtr = bolPtr;
	helper.m_file = file;
	helper.m_helper = WNEW TemplateHelper(NULL);
	
	// Get the parameter.
	while (*codePtr != 0)
	{
		if (*codePtr == '@'  &&  *(codePtr + 1) == '@')
		{
			CString out;
			if (ParseTag(codePtr, out, &helper))
			{
				// Move the output string into the buffer.
				for (int i = 0; i < out.GetLength(); i++)
					buffer.Add(out[i]);
			}
		}
		else
		{
			// Copy it straight.
			buffer.Add(*codePtr++);
		}
	}
	buffer.Add(0);

	delete helper.m_helper;
	
	return CString(buffer.GetData());
}
开发者ID:Luomu,项目名称:workspacewhiz,代码行数:42,代码来源:Template.cpp

示例2: ParseToken


//.........这里部分代码省略.........
	// Build our master string.
	CharArray buffer;

	// Remove leading whitespace.
	while (*codePtr != 0  &&  *codePtr != '\n'  &&  *codePtr == ' ')
	{
		codePtr++;
	}
		
	// Get the parameter.
	bool inQuote = false;
	if (*codePtr == '"')
	{
		inQuote = true;
		codePtr++;
	}

	while (*codePtr != 0)
	{
		if (*codePtr == '\n')
		{
			if (inQuote)
			{
				CString err;
				err.Format("Unexpected end of line while parsing a quoted string.");
				throw TException(TException::UNEXPECTED_EOL, err);
			}
			break;
		}
		else if (*codePtr == '%')
		{
			switch (*(codePtr + 1))
			{
				case '"':
					buffer.Add('"');
					codePtr += 2;
					break;
				case '@':
					buffer.Add('@');
					codePtr += 2;
					break;
				case '%':
					buffer.Add('%');
					codePtr += 2;
					break;
			}
		}
		else if (*codePtr == '"')
		{
			if (inQuote)
			{
				codePtr++;
				break;
			}
			else
			{
				buffer.Add(*codePtr++);
			}
		}
		else if (*codePtr == '\\')
		{
			if (inQuote)
			{
				codePtr++;
			}

			buffer.Add(*codePtr++);
		}
		else if (*codePtr == ' ')
		{
			if (inQuote)
			{
				buffer.Add(*codePtr++);
			}
			else
			{
				codePtr++;
				break;
			}
		}
		else if (helper  &&  *codePtr == '@'  &&  *(codePtr + 1) == '@')
		{
			CString out;
			if (ParseTag(codePtr, out, helper))
			{
				// Move the output string into the buffer.
				for (int i = 0; i < out.GetLength(); i++)
					buffer.Add(out[i]);
			}
		}
		else
		{
			// Copy it straight.
			buffer.Add(*codePtr++);
		}
	}
	buffer.Add(0);

	return CString(buffer.GetData());
}
开发者ID:Luomu,项目名称:workspacewhiz,代码行数:101,代码来源:Template.cpp


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