Почему C ++ стандартная функция поддержки strftime()
но нет strptime()
? strftime()
можно изменить время на строку, но нет функции, которая может изменить строку обратно во времени.
На Posix strptime()
доступна как C-подобная функция, с ее помощью нужно позаботиться о потенциальной проблеме смешанного кода C и C ++.
Я не являюсь частью комитета по стандартам, но здесь идет:
strptime определяется документами ISO / IEC 9945 (по сути, спецификацией Single Unix / POSIX). Он не является частью документов по стандартам C 9899: 1990 или 9899: 1999 (и я не думаю, что это часть 9899: 2011, хотя я не могу быть уверен, поскольку у меня его еще нет ).
Поскольку в стандартах C ++ предусмотрены только уровни совместимости с их двоюродным братом, вы не найдете strptime, предписанный документами стандартов C ++ 14882: 1998 или 14882: 2011.
Других решений пока нет …