0
是否可以使用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()
来获取单个单词。
[用C每白色空间分割字符串](可能重复http://stackoverflow.com/questions/4513316/ split-string-in-c-every-white-space) – 5gon12eder
你试过了什么?看起来你需要遍历数组寻找空间字符。 –