Hallo,
ich habe eine Zahlenwerte als Stringvorliegen (1 bis 4 Zeichen) und 
möchte den auf 4 Zeichen fest formatieren. In der Funktion arbeite ich 
mit dem globalen string, gebe aber am Ende den Zeiger noch zurück, damit 
man das gleich für uart-Ausgabe schachteln kann.
Mein Quellcode sieht wie folgt aus:
| 1 | char * format(char *str, uint8_t digits)
 | 
| 2 | {
 | 
| 3 |   
 | 
| 4 |   char tmp_str[10];
 | 
| 5 |   
 | 
| 6 |   int8_t diff;
 | 
| 7 |   diff = digits - strlen(str) //digits hier Wert 4
 | 
| 8 |   for(uint8_t i = 0; i < diff; i++)
 | 
| 9 |   {
 | 
| 10 |     tmp_str[0] = '0';
 | 
| 11 |     tmp_str[1] = '\0';
 | 
| 12 |     strcat(tmp_str, str);
 | 
| 13 |     strcpy(str, tmp_str);
 | 
| 14 |   }
 | 
| 15 |   
 | 
| 16 |   return(str);
 | 
| 17 | }
 | 
Ich bin mir bei den Pointern nicht ganz sicher.
Könntet ihr mal drauf schauen und etwas von "ist ok" bis "geht gar 
nicht" anmerken.
Danke und Grüße, Alex