#c
Вопрос:
Я хочу разделить строки разделителем , используя getline()
std::istringstream args("["2,3", 3]");
std::string temp;
std::string arg;
std::vector<std::string> out_args;
while(getline(args, temp, ',')) {
}
моя проблема в том, что getline (), берущая «2,3», также разделяет его, я хочу разделить только в том случае, если разделитель не заключен в двойные кавычки.
Комментарии:
1. std::аргументы istringstream(«[«2,3″, 3]»); Это вообще компилируется?
2. Я хочу разделить только в том случае , если разделитель не заключен в двойные кавычки , вам понадобится что-то намного более сложное
getline()
. Анализировать строки в кавычках непросто. Всеgetline()
, что делает, — это разделяет данные разделителем независимо от их контекста.3. Вы пробовали «2,» ?
4. Я попробовал с , это не сработало @moi
5. Вам нужно использовать
"["2,3", 3]"
илиR"(["2,3", 3])"
в C 11 и более поздних версиях