Fkt: gibt bei Eingabe(0), 00 als string zurück
-
Hallo,
bei folgender Funktion hab ich das Problem, dass die Zahl 0 als 00 dargestellt wird.
#define TEST_STRING_0 0 unsinged char string[3]; unsigned char *ntoa_r(unsigned int in, unsigned char *buf, int bufsize) { char *p = (char *)∈ #define UC_(b) (((int)b)&0xff) memset((void *)buf, 0x00, bufsize); (void)snprintf((char *)buf, bufsize, "%d%d%d%d", UC_(p[0]), UC_(p[1]), UC_(p[2]), UC_(p[3])); return (buf); } //aufruf ntoa_r(TEST_STRING_0, (unsigned char *)&str[0], 3);
Der Aufruf der Funktion ntoa_r muss verschieden stellige Zahlen in Stringform wandeln können. Auch weiß ich nicht immer die Anzahl der Stellen die eine Zahl einnehmen wird (ist variabel).
Gruß
patrick
-
^^warum so umständlich? benutz snprintf doch direkt. oder brauchste 'ne gewisse anzahl führender nullen?