【问题标题】:Find words divided by whitespace查找除以空格的单词
【发布时间】:2015-07-31 23:46:12
【问题描述】:

是否可以使用fgets()保存不同的单词除以空格然后找到每个单词?

例如,假设我有这个:

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

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

【问题讨论】:

标签: c arrays char fgets


【解决方案1】:

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

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

然后重复其他调用

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

直到word == NULL

【讨论】:

    【解决方案2】:

    fgets() 会将您的输入保存到字符串中。要将其划分为单个单词,您可以遍历字符串(可能使用isalpha() 等),或使用strtok() 获取单个单词。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-19
      • 1970-01-01
      • 2020-09-15
      • 2018-03-14
      • 2010-11-13
      • 1970-01-01
      • 2013-07-31
      • 1970-01-01
      相关资源
      最近更新 更多