2015-05-19 62 views
0

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

例如,让我们说我有这样的:

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

,然后我必须要找到每个单词在我的程序的其他部分使用它。我怎样才能做到这一点?

+1

[用C每白色空间分割字符串](可能重复http://stackoverflow.com/questions/4513316/ split-string-in-c-every-white-space) – 5gon12eder

+0

你试过了什么?看起来你需要遍历数组寻找空间字符。 –

回答

3

你可以使用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()来获取单个单词。