ANSI-C Parameter Filtern

#974149
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren