Реализуйте свой split().
Берёте строку и в цикле от первого и последнего символа проверяете, является ли символ пробелом. Если нет - добавляете этот символ во временную строку. Если да, то добавляете эту строку в динамический массив строк, а временную строку очищаете. В конце возвращаете динамический массив. Fini.
Или вообще на Qt переходите.
Берите, конечно, потом тут же будете спрашивать, как лечить глюки и почему работает через раз, тут каждый день посты про маргинальную китайщину, будь то ноунейм-материнка, какой-нибудь катайфон Ксямиямиёшаоми или инженерный Зеон.
Посмотрите спеки материнской платы, там пишется обычно, в каком режиме будую работуть несколько слотов.
Но с вероятностью 100% никак не повлияет.
Работать будет.
Ингредиентом, например, может быть и фарш, в котором могут быть несколько продуктов (лук, яйца, хлеб, да хоть что), я бы сделал продукт и ингредиент как "один ко многим".
И запихнул бы калорийность в "продукты".