Falls du eine selbstgeschriebene Funktion willst die das tut, wie wärs damit:
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
}
lustige funktion die während dem robotik praktikum im rahmen meines informatikstudiums entstand wir haben da asuros rumfahren lassen.
Als ich die funktion fertig hatte hab ich dann festgestellt dass die nix anderes tut als itoa *lol* na wenigstens kann man über countbase einstellen ob man zur basis 2...36
mehr als 36 ist ungünstig wegen dem alphabet mit 26 zeichen
Edit: Bug gefunden
Lesezeichen