查找除以空格的单词
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
可不可以用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