Как добиться максимальной функции ширины поля sscanf через istringstream в C ++?

Я знаю, что можно использовать istringstream в качестве альтернативы sscanf, например:

std::istringstream argtime{"01:00"};
char colon;
int hour;
int minute;

argtime >> std::noskipws;
argtime >> hour >> colon >> minute;
if(argtime && colon == ':') // hh:mm is parsed successfully.
{
// ...
}

Вышеуказанные строки частично похожи на следующие sscanf код:

sscanf("01:00", "%d:%d", &hour, &minute);

Но есть ли решение для достижения максимальная ширина поля особенность sscanf с помощью istringstream в C ++ (C ++ 11 / C ++ 14 / C ++ 1z)?

sscanf("01:00", "%2d:%2d", &hour, &minute);

Изменить: я также пытался setw IO манипулятор, но он не работает для целых чисел.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]