У меня есть объект istringstream со строкой формата STRING,INT,INT,INT
например. "name, 20,30,40" Я хочу прочитать значения в переменных определенных типов, таких как std: string и int. Как я могу это сделать?C++: Чтение из stringstream
1
A
ответ
3
Ленивый путь:
getline(stream, str, ',');
char c;
stream >> i1 >> c >> i2 >> c >> i3;
Это «ленивый», потому что он не обрабатывает ошибки формата в любой разумный путь.
Более интеллектуальные способы будут разделены на запятые на вектор строк (которые затем могут быть преобразованы в целые числа по мере необходимости) или использовать полноценный синтаксический анализатор, например boost.spirit.
Смежные вопросы
- 1. Чтение из строки в stringstream
- 2. Параллельное чтение Запись в C++ stringstream
- 3. Чтение из файла не читает stringstream
- 4. Чтение со смещения в stringstream
- 5. Чтение двоичного файла в C++ с помощью stringstream
- 6. C++ stringstream разбора
- 7. Получение символ * массив из C++ stringstream ostringstream
- 8. Как извлечь пробел из stringstream C++
- 9. C++ getline и stringstream
- 10. C++ stringstream output performance
- 11. C++: vector to stringstream
- 12. Получение остатка stringstream C++
- 13. stringstream errors C++
- 14. C++ iostream, stringstream term
- 15. C++ stringstream error error
- 16. bada C++ std :: stringstream
- 17. Двоичное чтение/запись в std :: stringstream
- 18. Ввод значений из stringstream
- 19. Использование stringstream вместо строки? - C++
- 20. Получить символ из std :: stringstream
- 21. C++ stringstream добавление дополнительных байтов
- 22. C++ stringstream возвращает дополнительный символ?
- 23. C++ boost serialization with stringstream
- 24. C++ stringstream читает все ноль
- 25. Stringstream для строки логики C++
- 26. C++ - stringstream << "переписывание"
- 27. C++ Piping ifstream в stringstream
- 28. StringStream/c_str() коррупция в C++
- 29. C++ различные результаты stringstream входов
- 30. Чтение из файла C++ Ifstream
Вы можете легко сделать этот дескриптор ошибок: 'char c; if (getline (stream, str, ',') && stream >> i1 >> c && c == ',' && stream >> i2 >> c && c == ',' && stream >> i3) .. . –
@Tony Действительно, это относится к обработке ошибок. – Cubbi