Hallo Alle, ich bin Anfänger und habe in der Suche auch nichts passendes gefunden. Ich möchte die durch Kommas getrennten Werte eines Strings char STRING=1,2,3,4,5 in ein Array speichern int ARRAY[6]={1,2,3,4,5} Ich habe schon einiges mit den Stringfunktionen getestet komme aber nicht recht voran, könnt ihr mir bitte helfen?
Bei den Stringfunktionen tauchte weder strtok (bzw. strtok_r) noch strtol (bzw. atoi) auf ? scnr, Jörg
Ja danke, habe es nun mit strtok realisiert.
> habe es nun mit strtok realisiert.
<Glaskugel-Modus>
Dann verbockst du da was!
</Glaskugel-Modus>
Also die Antworten sind ja echt hilfreich! char * tok = strtok(pos, ","); i = 0; int Achsenarray_okay = 0; for (i=0;i<=11;i++) { Achsenarray[i] = atoi(tok); tok = strtok(NULL,","); itoa(Achsenarray[i], string_temp, 10); }
Ist es nicht einfacher, den String nach "," zu durchsuchen und jedesmal das Komma durch ein 0 zu ersetzen und den Anfang als char* in einem Array zu speichern. Jeder Eintrag im Char-Array ist ein Pointer auf den Teilstring.
Eine möglichkeit währe #include <stdio.h> struct split { char *pointers[256]; int count; }; struct split split (char *in, char delim) { struct split sp; sp.count = 1; sp.pointers[0] = in; while (*++in) { if (*in == delim) { *in = 0; sp.pointers[sp.count++] = in+1; } } return sp; } Gruß GundelGaukeley
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.