Я пытаюсь использовать strptime(buf, &pattern,&result)
для преобразования char[]
, содержащий дату в tm
Структура.Порядок элементов в strptime
Я использую функцию, как это:
if(strptime(buf, &pattern,&result) == NULL)
{
printf("\nstrptime failed\n");
...
и все работает, если мои переменные определены следующим образом:
char buf[] = "26/10/2011";
char pattern[] = "%d/%m/%y";
struct tm result;
, но если я изменить их в:
char buf[] = "2011/26/10";
char pattern[] = "%y/%d/%m";
struct tm result;
Я получаю «strptime failed». Обратите внимание, что я только ставил год в начале (оба в buf
и pattern
).
Помогите оценить. Моя конечная цель заключается в преобразовании строки в следующем формате: 2011-10-26T08:39:21
Вы действительно скопировали код именно здесь? Переменная 'pattern' не должна использовать адрес-оператора в вызове' strptime'. –