Как да постигнете функцията за максимална ширина на полето на 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 манипулатор, но той не работи за цели числа.


person Sadeq    schedule 10.11.2015    source източник
comment
Възможен дубликат на stackoverflow.com/questions/2839592/   -  person A.S.H    schedule 10.11.2015
comment
@A.S.H: Не, не е. Питам за Input Stream.   -  person Sadeq    schedule 11.11.2015
comment
Затова казах Възможно. За да ви предложа да проверите тази нишка, може да отговоря на въпроса ви, тъй като има много прилики във форматирането на потока за вход и за изход. Може да имате и ограниченията, обсъдени там.   -  person A.S.H    schedule 11.11.2015