Ich bin in C ziemlich ahnungslos und versuche itoa anzuwenden (VNC2 compiler). Die * bringen mich um. Die Deklarationen sind: char *itoa(int value, char *string, int radix); void DataSerialWrite(unsigned char *data, unsigned short length); Mein Versuch sieht so aus: void debugint(int i) { #ifdef DEBUG1 unsigned short j; char data[10]; itoa(i,data,10); j=strlen(data); DataSerialWrite(data,j); #endif } Das Ergebnis ist nur Müll. Was mache ich falsch?
Andy H. schrieb: > Ich bin in C ziemlich ahnungslos Hast doch schon dein Problem erkannt... Sollen wir jetzt für dich dein Programm schreiben???
1 | char *itoa(int value, char *string, int radix) |
Kleiner Hinweis: Sobald kein "void" vor der Funktionsdefenition steht, liefert die Funktion einen Rückgabewert...
Bei ITOA brauchste den aber nicht, weil char* String der Buffer ist in dem die Zahl als ASCI landet. Der Returnwert is dann nurnoch maln Pointer auf den Buffer. An den TE: Erstmal das hier lesen: http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/ danach solltest du was über Pointer in C lesen um zu wissen was dieses lustige * bei den Variablen veranstaltet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.