Проблема:istringstream вопрос
У меня есть текстовый файл с линиями информации в нем, как необходимость ниже в разделе «текстовый файл». Я пытаюсь сопоставить элементы, чтобы закончить свое задание. При их сопоставлении я использую istringstream
. Моя проблема возникает в том, чтобы заставить ее работать, когда в элементе есть несколько слов, которые я хочу сохранить в одной строке. Например, «Unsweetened Applesauce», я хочу, чтобы это была одна строка (item.setNewItem). Любая помощь действительно была бы признательна, и поскольку я являюсь нынешним учеником, любой потакание ради меня будет действительно оценен. =)
TXT файл:
1 чашка сахара | 1 чашка несладкого яблочного соуса | калорийность
Код:
void mapList(ifstream &foodReplace, map<string, Substitutions> &subs)
{
string line;
while (getline (foodReplace, line));
{
Substitutions item;
istringstream readLine(line);
readLine << item.setOldAmount
<< item.setOldMeasurement
<< item.setOldItem
<< item.setNewAmount
<< item.setNewMeasurement
<< item.setNewItem;
subs.insert(pair<string, Substitutions>(item.getOldItem, item));
}
}
Измените свой ввод, чтобы использовать разделители между словами, чтобы вы могли разбить строку между логическими частями. Что-то вроде 'food Unsweetened Applesauce endFood' Это плохой человек XML :-) – AndyG
И XML - это бедный человек csv, как все знают. – Deduplicator