2017-05-22 14 views
0

ich habe 3 ZeigerC strtok, Split String in zwei Teile ersten Raum mit

char line[MAX_STR]; 
char *inputCmd,*inputArgs; 

und ich bin mit

inputCmd = strtok(line," "); 

Ich frage mich, wie ich es aufspalten, um nur zwei Teile In Beispiel

line = {"COMMAND A PARAMTER TO CHECK..."}; 

ich möchte die inputCmd auf "Befehl" Punkt und inputArgs zeigen auf "A PARAMTER TO CHECK ..."

Vielen Dank. I

+2

'inputCmd = Zeile; if (inputArgs = strchr (line, '')) * inputArgs ++ = 0; '. BTW 'line' ist kein Zeiger. – BLUEPIXY

+1

oder 'inputCmd = strtok (line," "); inputArgs = strtok (NULL, "\ n"); ' – BLUEPIXY

Antwort

2

Sie müssen nicht für jeden Aufruf von strok dasselbe Token verwenden.

Also, wenn Ihr Format ist

Zeichenfolge1 | Platz | Rest | nul |

können Sie STRTOK mit einem Leerzeichen und der Zeichenfolge aufrufen, dann erneut mit Null für das Zeichenfolgenargument und Nul für das Token aufrufen.