Hallo, ich habe ein kleines C-Programm, nach der Zerlegung eines String, weise ich die verschiedenen Teile in einer Struktur zu. Der String hat beliebige Länge: Beispiel1:char String[3][50]= "11 22 33 44" Beispiel2:char String[3][50]= "11 22 33" Das Problem: wenn ich der erste String bearbeite, sind alle Werte korrekt aber bei der Bearbeitung der zweiten String kriege ich immer die PtrStruc->Data[3]= 44. Wie kann ich es programmieren? wenn Zum Beispiel String[1] ausfällt, dann muss PtrStruc->Data[1] automatisch 0 sein. PtrStruc->Data[0] = (uint16_t) strtoul(String[0],(void*)0,16); PtrStruc->Data[1] = (uint16_t) strtoul(String[1],(void*)0,16); PtrStruc->Data[2] = (uint16_t) strtoul(String[2],(void*)0,16); PtrStruc->Data[3] = (uint16_t) strtoul(String[3],(void*)0,16); Danke
Bei String[3][50]= "11 22 33 44" gibt es kein String[3] !!! Es gibt nur String[0], String[1] und String[2]. Außerdem wird nur String[0] initialisiert, da "11 22 33 44" nur EINE Zeichenkette ist. Du möchtest vielleicht eher String[3][50]= {"11", "22", "33"};
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.