Wie wärs damit?

es gibt auch ne C-Funktion die ziemlich das gleiche macht, siehe itoa()

Code:
int IntToChars (char* buffer, int value, int spaceonbuffer, int countbase)
{
	int workvalue = value;
	int i;
	int valuetowrite;
	int  end_i = 0;

	if (value < 0)
	{
		workvalue = -value;
		end_i = 1;
		buffer[0] = '-';
	}

	for (i = spaceonbuffer - 1; i >= end_i; i--)
	{
		valuetowrite = (workvalue % countbase);
		if (workvalue == 0)
		{
			if (i == (spaceonbuffer - 1))
			{
				buffer[i] = 48;					// ASCII 0
			} else {
				buffer[i] = 32;					// ASCII SPACE
			}
		} else {
			if (valuetowrite > 9)
			{
				buffer[i] = valuetowrite + 55;	// ASCII A-Z
			} else {
				buffer[i] = valuetowrite + 48;	// ASCII of that character
			}
		};
		workvalue = (workvalue - valuetowrite) / countbase;
	}
	return (workvalue);	//this should be zero if enough space on buffer!
							//otherwise it contains the digits not printed out
}