Новичок: при чтении из файла и использовании istringstream
Я никогда не использовал istringstream раньше. Раньше у меня были только разделенные строки с одним разделителем, поэтому я не знаю, как использовать istringstream. Я разделяю строки из файла, который выглядит следующим образом:
Стол Wanted, 100
Автомобиль, Продается, 5000
Мне нужно разделить строки, а затем создать массив структур. У меня уже есть структура, я просто не знаю, как разделить строки. Моя структура называется item и имеет типы: строковый тип, продажа bool, двойная цена. Для продажи я хочу сказать 1, если он продается, и 0, если он нужен. По сути, я хочу разделить его, чтобы я мог создать новые переменные, тип, продажу и цену, а затем создать newItem{type, sale, price} в моей структуре элементов и перейти оттуда. Пример кода был бы чрезвычайно полезен. Спасибо.
1 ответ
Простой способ разбить строку с помощью символа-разделителя - это использовать std::getline
,
std::string line = "Table, Wanted, 100"; // Let's say you have read a line from file.
std::istringstream input{line}; // Create an input stream from string.
// Read all characters up until the delimiter ',' on each iteration.
for (std::string token; std::getline(input, token, ',');) {
/* Do something with each token... */
}