Forum: Compiler & IDEs Parameter zuweisen


von gast (Gast)


Lesenswert?

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

von gast (Gast)


Lesenswert?

hallo,
habe ich vergessen Data hat für Datentyp: uint16_t DATA[8];

von Klaus F. (kfalser)


Lesenswert?

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
Noch kein Account? Hier anmelden.