В данный момент я пытаюсь прочитать в отформатированной временной шкале и создать длительность из этого.В настоящее время я пытаюсь использовать класс date_time time_duration для чтения и сохранения значения.
boost date_time предоставляет метод time_duration duration_from_string(std::string)
, который позволяет создавать time_duration из строки времени и принимать строки, отформатированные соответствующим образом ("[-]h[h][:mm][:ss][.fff]".
).
Теперь этот метод работает нормально, если выиспользуйте правильно отформатированную строку времени.Однако, если вы отправите что-то недопустимое, например "ham_sandwich" или "100", вам будет возвращено недопустимое значение time_duration.В частности, если вы попытаетесь передать его в стандартный поток вывода, тогда произойдет утверждение.
Мой вопрос: кто-нибудь знает, как проверить достоверность повышения time_duration?и если нет, можете ли вы предложить другой метод чтения временной строки и получения от нее продолжительности?
Примечание: я попробовал очевидные методы тестирования, которые обеспечивает time_duration;is_not_a_date_time()
, is_special()
и т. Д., И они не понимают, что существует проблема.
Использование надстройки 1.38.0