【发布时间】:2015-07-31 23:46:12
【问题描述】:
是否可以使用fgets()保存不同的单词除以空格然后找到每个单词?
例如,假设我有这个:
char words[100];
fgets(words,100,stdin);
然后我必须找到每个单词才能在我的程序的其余部分中使用它。我该怎么做?
【问题讨论】:
-
你试过什么?看起来您需要遍历数组以查找空格字符。
是否可以使用fgets()保存不同的单词除以空格然后找到每个单词?
例如,假设我有这个:
char words[100];
fgets(words,100,stdin);
然后我必须找到每个单词才能在我的程序的其余部分中使用它。我该怎么做?
【问题讨论】:
您可以使用strtok_r,或者如果您想使用正则表达式,您可以使用pcre 库。
char *save_ptr;
char *word = strtok_r(words, " \t", save_ptr);
然后重复其他调用
word = strtok_r(words, " \t", save_ptr);
直到word == NULL
【讨论】:
fgets() 会将您的输入保存到字符串中。要将其划分为单个单词,您可以遍历字符串(可能使用isalpha() 等),或使用strtok() 获取单个单词。
【讨论】: