The function works like I wan't it to, but when I use the delete comand it returns Junk.
Code:
typedef char * string;

string mid(string s,unsigned int start, unsigned int length)
{	
	char * cBuffer = new char[length + 1];
	string sBuffer;	
	
	for(unsigned int n = 0; n <= (length - 1); n++)
	{
		cBuffer[n] = s[n + (start - 1)];		
	}

	cBuffer[length] = '\0';	
	
	sBuffer = cBuffer;
	
	//delete [] cBuffer;
	return (sBuffer);
}