2

我知道它可以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);

但是有什么解决方案可以在 C++(C++11/C++14/C++1z)中实现via的最大场宽特性吗?sscanfistringstream

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

编辑:我也尝试过setwIO 操纵器,但它不适用于整数。

4

0 回答 0