我的代碼如下。我正在使用一個結構並獲取輸入文本文件。我將它分成幾行,然後嘗試將每行分隔爲單獨的單詞。使用strtok,它目前只打印每行的第一個單詞。我怎樣才能解決這個問題?C - 使用strtok僅給出每行的第一個單詞嗎?
typedef struct {
char linewords[101];
char separateword[101];
} line;
下面是主要的:
line linenum[101];
char var[101]
char *strtok(char *str, const char delim);
while fgets(linenum[i].linewords, 101, stdin) != NULL) {
char* strcopy();
char* strtok();
strcpy(linenum[i].separateword,linenum[i].linewords);
strtok(linenum[i].separateword, " "); /*line i'm referring to*/
i++;
}
}
我提前道歉任何混亂。我想要的是讓亞麻布[i] .separateword [0]返回第一個字,等等。這可能嗎?或者還有另一種將我的意見分解成單詞的方式嗎?
謝謝
第二個電話必須使用'NULL'。 – 2014-09-21 06:47:45
@Pavel這是否意味着在當前strtok行之後,我應該添加'strtok(NULL,「」); ? – KittiCat 2014-09-21 06:52:17
要獲取字符串中的所有單詞,需要重複調用'strtok()'。有關示例,請參閱http://www.tutorialspoint.com/c_standard_library/c_function_strtok.htm。 – NPE 2014-09-21 06:53:31