コード例 #1
0
String String::GetAndRemoveFirstWord(char separator)
{
	String temp;

	// Search for separator
	for (int i=0;(i<length)&&(data[i]!=separator);i++); //OK
	
	// Found?
	if (i==length)
	{
		// If not then result is the whole string
		temp=*this;

		// Clear (because all was taken)
		length=0;
		SAFE_DELETE_ARRAY(data);
		data=new char[1];
		data[length]=0;
	}
	else
	{
		temp.CreateFromNullTerminatedString(data,i);
		memmove(data,data+i+1,length-i);
		length-=i+1;
	}
	return temp;
}
コード例 #2
0
//------------------------------------------------------------------
// String splitting functions
//------------------------------------------------------------------
String String::GetSubString(int first,int _length) const
{
	String temp;
	if ((first>=0)&&(_length>0)&&(_length+first<=length))
	{
		temp.CreateFromNullTerminatedString(data+first,_length);
	}
	return temp;
}