ошибка с использованием strptime в переполнении стека

Я пытался понять использование strptime () в C ++ и чтобы иметь возможность сделать это, я пишу короткий код:

#include <time.h>
#include <iostream>
Test(string dtime)
{
string s = dtime;

struct tm timeDate;
strptime(s,"%y-%m-%d %H:%M", &timeDate);
cout<<timeDate.tm_sec<<endl;
}

Dtime всегда будет как 2013: 03: 15 16:08. Я получил ошибку, это говорит о том, что:

Test(std::string)’:
Test.cpp:17:41: error: cannot convert ‘std::string* {aka std::basic_string<char>*}’ to ‘const char*’ for argument ‘1’ to ‘char* strptime(const char*, const char*, tm*)

Есть ли кто-нибудь, чтобы помочь мне решить мою проблему? заранее спасибо

0

Решение

Декларация strptime является:

char *strptime(const char *s, const char *format, struct tm *tm);

Первый аргумент предполагает const char *, Вы передаете std::string

Перерабатывать s в стиле C char *

strptime(s.c_str(),"%y-%m-%d %H:%M", &timeDate);
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]