Char Array nach Leerzeichen splitten
-
Hi,
Ich habe ein tolles Char Array
char **parameter
dadrin steht beispielweise "1 12 3 24"
Nun möchte ich gern das Array nach Leerzeichen splitten. Also das ich ich in jedem Arrayelement dann auch die Zahlen "1" "12" "3" und "24" drin habe. Ziel ist das Array später an execv(..) zu übergeben.
-
und wo hängt es? bzw. hast du überhaupt schon angefangen?
Nützlich für dich könnte strtok sein.
Außerdem hast du kein char-Array, sondern einen Pointer auf einen Pointer auf char. Das ist nicht dasselbe.
-
In parameter steht z.B. "11 2 22 1", dummy ist noch leer.
char *parameter; char **dummy; int i; int j=1; int k=0; for(i=0; i<strlen(parameter); i++) if(parameter[i] != 32) { dummy[j][k] = parameter[i]; k++; } else { paraanz++; j++; k=0; }
Da bekomme ich aber immer "Segmentation fault"
Woran liegt das denn? Also der Fehler kommt immer genau dann wenn ich dummy den Wert zuweisen mag. Warnings sind keine da
-
Weil dummy ein wilder Pointer ist. Du schreibst also irgend wo in den Speicher.
Aber der Tipp mit man: strtok(3) war doch brauchbar.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Linux/Unix in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.