Ich versuche, ein Programm in C unter Verwendung von Befehlszeilenargumente & Array Zeiger zu schreiben ...Problem beim Drucken die über Kommandozeilenargumente übergeben Werte
Mein Ziel ist es, die Werte zu finden, die wir über die Kommandozeile sind vorbei Streit.
seperating diese Werte strtok mit, indem er als seperator
Aber ich bin immer Segmentation fault nach 2 iteratios.i nicht verstehen, wo ich mache Fehler.
Könnte jemand mir helfen, dieses Problem loszuwerden?
int main(int argc,char *argv[])
{
char *str[] = {};
char *string = argv[1];
const char s[2] = ",";
char *token = "";
int i = 0,j = 0,k = 0,l = 0,m = 0;
token = strtok(string, s);
while(token != NULL)
{
str[i] = token;
printf("str[%d]= %s\n",i,str[i]);
i++;
token = strtok(NULL, s);
}
return 0;
}
bash-3.2 ./code $ hallo, tschüss, hallo, Auto
str [0] = hallo
str [1] = bye
Segmentation fault (core dumped)
'char * str [] = {};' -> 'Zeichen * str [strlen (argv [1])/2 + 1];' – BLUEPIXY