查找除以空格的单词

Find words divided by whitespace

可不可以用fgets()把不同的词用空格分开,然后找每个词?

例如,假设我有这个:

char words[100];
fgets(words,100,stdin);

然后我必须找到每个词以在我的程序的其余部分中使用它。我该怎么做?

fgets() 会将您的输入保存到字符串中。要将其分成单独的单词,您可以遍历字符串(可能使用 isalpha() 和类似的方法),或者使用 strtok() 来获取单独的单词。

您可以使用 strtok_r,如果您想使用正则表达式,您可以使用 pcre 库。

char *save_ptr;
char *word = strtok_r(words, " \t", save_ptr);

然后重复对

的其他调用
word = strtok_r(words, " \t", save_ptr);

直到 word == NULL