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
你試過了什麼?看起來你需要遍歷數組尋找空間字符。 –