Hallo zusammen,
ich habe ein kleines Problem, aber wahrscheinlich stelle ich mich gerade
sehr dumm an.
Ich habe ein String, welcher als Parameter meinem Programm beim Starten
übergeben wird. Nun möchte ich einzelne Teile dieses Strings zerlegen
und getrennt aus geben.
Also:
Der String: "-mod=int"
Das Ergebnis soll sein: "mod" und in einer zweiten Variable "int".
So das ich nun den Modus anpassen kann.
Ich hatte mir das in etwa so gedacht, aber dann stürtz das Programm ab:
1 | char *select(char *param)
|
2 | {
|
3 | int j = 0;
|
4 | int start_befehl = 0;
|
5 | int start_data = 0;
|
6 | char *buf = "";
|
7 | char *buf2 = "";
|
8 |
|
9 | while(param[j] != 0)
|
10 | {
|
11 | if(param[j] == '=')
|
12 | start_data = 1;
|
13 |
|
14 | if((start_befehl == 1) && !(start_data == 1))
|
15 | *buf++ = param[j];
|
16 |
|
17 | if(start_data == 1)
|
18 | *buf2++ = param[j];
|
19 |
|
20 | if(param[j] == '-')
|
21 | start_befehl = 1;
|
22 |
|
23 | j++;
|
24 | }
|
25 | *buf = '\0';
|
26 | *buf2 = '\0';
|
27 |
|
28 | return buf;
|
29 | }
|
Also in param steht der String, und zurück gegeben soll erstmal nur das
"mod".
Was mache ich falsch???
Danke.