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