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.