私は、コマンドライン引数&配列ポインタを使用してC言語でプログラムを記述しようとしています...発行し、コマンドライン引数を経由して渡された値を印刷しながら
私の目標は、我々は、コマンドラインを介して渡している値を見つけることです引数。
セパレーター
として、持つことではstrtokを使用してこれらの値をSeperatingが、私は間違いを犯して作ってるんだどこiteratios.iは理解していない2後にセグメンテーションフォールトを取得しています。
誰かがこの問題を解決するのに役立つでしょうか?
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 HI、BYE、ハロー、車
STR [0] = HI
STR [1] = BYE
セグメンテーション障害(コアダンプ)
'char * str [] = {};' - > 'char * str [strlen(argv [1])/ 2 + 1];' – BLUEPIXY