Я пытался понять использование 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*)
Есть ли кто-нибудь, чтобы помочь мне решить мою проблему? заранее спасибо
Декларация 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);
Других решений пока нет …