Разбить строку на отдельные слова списком
Есть строка и её нужно разбить на слова списком. Вот структура для списка:
struct wos{
char *word;
struct wos *next;
}
Как это можно грамотно реализовать? Нужно ли, например, сразу в условный буфер прочитать строку и работать с ней? Или посимвольно читать и через свитчи обрабатывать?
Разделитель пробел или табуляция. Кодом ответ не нужен, хотя бы с чего начать. Далее разделение будет включать ещё и учитывание пробелов в составе слова и т.д. То есть с помощью спец символов можно будет записать в одно звено списка что-то вроде "asd fg". Но сейчас мне требуется грамотное начало для разбиения строки просто на слова. Желательно без использования string.h и точно никакого ++ кода.