Как мне разобрать поля в строке через запятую, используя sscanf, поддерживая пустые поля?
У меня есть разделенная запятыми строка, которая может содержать пустые поля. Например:
1,2,,4
Используя базовый
sscanf(string,"%[^,],%[^,],%[^,],%[^,],%[^,]", &val1, &val2, &val3, &val4);
Я получаю все значения до пустого поля и неожиданные результаты из пустого поля и далее.
Когда я удаляю выражение для пустого поля из sscanf (),
sscanf(string,"%[^,],%[^,],,%[^,],%[^,]", &val1, &val2, &val3, &val4);
все отлично работает
Поскольку я не знаю, когда собираюсь получить пустое поле, есть ли способ переписать выражение для элегантной обработки пустых полей?