2015-05-19 104 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()來獲取單個單詞。