strtok
- простой ответ, но вам действительно нужен лексер, который делает это правильно. Учтите следующее:
- Есть ли один или два пробела между "привет" и "мир"?
- Может ли это быть сколько угодно пробелов?
- Может ли это включать вертикальный пробел (\ n, \ f, \ v) или только горизонтальный (\ s, \ t, \ r)?
- Может ли это включать какие-либо символы пробела UNICODE?
- если бы между словами ("привет, мир") была пунктуация, была бы пунктуация отдельным маркером, частью слова "привет" или игнорировалась?
Как видите, написание правильного лексера непросто, а strtok
не является правильным лексером.
Другими решениями могут быть односимвольный конечный автомат, который делает именно то, что вам нужно, или решение на основе регулярных выражений, которое делает поиск слов и пробелов более обобщенным. Есть много способов.
И, конечно, все это зависит от ваших реальных требований, и я их не знаю, поэтому начните с strtok
. Но хорошо знать о различных ограничениях.