Hab einfach mal dein Codestück oben ein bißchen umgeschrieben:
Code:
void LongToString(long wert, unsigned int laenge, char* s) {
int i;
for(i = 0; i < laenge; i++) {
s[laenge-i-1] = (wert % 10) + 48;
wert = wert / 10;
}
s[laenge] = '\0';
}
Aufruf dann mit:
Code:
char s[10];
long x = 1234567;
LongToString(x, 7, s);
Wenn ich jetzt auf die schnelle nichts übersehen habe, dann sollte das funktionieren. Man könnte das vielleicht noch etwas beschleunigen mit der div() funktion ( siehe avr-libc Doku ).
MfG Kjion
Lesezeichen