C библиотека для парсинга [закрытого] времени даты

\n в основном работы для нас, но Outlook действительно иногда берет его на себя для удаления разрывов строки, как Вы говорите.

6
задан adk 12 September 2009 в 03:30
поделиться

5 ответов

Библиотека Юлиана делает многое из того, о чем вы просите - посмотрите, в частности, как работает ее синтаксический анализ . Однако я не думаю, что это полностью соответствует вашим требованиям (я полагаю, что понедельник бросит это испытание; -).

2
ответ дан 8 December 2019 в 05:22
поделиться

В time.h у вас есть strptime:

// Scan values from buf string into tptr struct. On success it returns pointer
// to the character following the last character parsed. Otherwise it returns null.
char * strptime(const char* buf, const char* format, struct tm* tptr)

, который делает противоположность

// Format tm into a date/time string.
size t strftime(char* s, size t n, const char* format, const struct tm* tptr)

. Щелкните здесь, чтобы увидеть полную ссылку в Википедии

0
ответ дан 8 December 2019 в 05:22
поделиться

К сожалению, в стандартной библиотеке есть только getdate () , определенный POSIX, а не стандартом C. Он будет обрабатывать многие форматы времени, но вам нужно знать формат заранее, а не просто передавать универсальную строку в функцию.

Он также не поддерживается в Visual C ++, если это для вас проблема. Однако среда выполнения GNU C поддерживает эту процедуру.

3
ответ дан 8 December 2019 в 05:22
поделиться

В C есть два довольно распространенных подхода:

  1. Используйте strptime () с массивом поддерживаемых форматов, которые вы принимаете.

  2. Сильно стучите головой о стол, а затем либо откажитесь. или используйте другой язык, на котором уже есть полезная библиотека (например, perl или python).

11
ответ дан 8 December 2019 в 05:22
поделиться

Git имеет портативную библиотеку синтаксического анализа дат , выпущенную под GPLv2. Возможно, вы сможете это использовать. Думаю, вам нужен приблизительно_careful () .

2
ответ дан 8 December 2019 в 05:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: