0

奇怪的是,

std::cout << boost::posix_time::from_iso_string("20120927T062299");// 99 seconds!

yield 2012-Sep-27 06:23:39,即溢出的秒数进入下一分钟。这真的是预期的行为吗?如果是这样,在这种情况下如何强制功能失败?

4

1 回答 1

2

不同的库实现者对于什么应该导致错误以及什么严重性有不同的想法。

简单的答案是,如果字符串来自用户输入,请在将其提供给任何期望格式正确的字符串的函数之前自行检查。无论如何,这通常是一个好主意。在这种情况下,正则表达式检查将相当简单。

于 2012-09-27T04:20:59.767 回答