コマンドラインに入力した文字列内の各単語を見つけるために strtok を使用するプログラムを作成しています。私の例では、私のコードは command.c と呼ばれているので、次のように入力すると:
./command.out "Hi, there"
私は私の結果として得るべきです:
Arg = "Hi, there"
Next word "Hi,"
Next word "there"
これまでのところ、私のコードは print ステートメントの arg 部分を完成させますが、問題の文字列を分離するために後半の部分を実行することはしません。現在の私のコードは次のとおりです。
#include <stdio.h>
#include <string.h>
void main (int argc, char *argv[]) {
int i;
for(i =1;i< argc; i++)
printf("Arg = %s\n", argv[i]);
char delims[] = " ";
char *word = NULL;
word = strtok(argv[i], delims);
while(word != NULL) {
printf("Next word \"%s\"\n", word);
word = strtok(NULL, delims);
}
}
どこが間違っているのか、このコードを修正するにはどうすればよいですか? 助けてくれてありがとう