string Account::dateCreated(){
time_t rawtime;
struct tm * timeinfo;
char buffer [80];
time (&rawtime);
timeinfo = localtime (&rawtime);
strftime (buffer,80,"%a %b %d %T %Z %Y",timeinfo);
return buffer;
}
По какой-то причине это ничего не возвращает, но когда я немного меняю это, это работает:
string Account::dateCreated(){
time_t rawtime;
struct tm * timeinfo;
char buffer [80];
time (&rawtime);
timeinfo = localtime (&rawtime);
strftime (buffer,80,"%A %d/%m/%Y",timeinfo);
return buffer;
}
Вывод раньше был: ничего
Выход сейчас: суббота 13/01/2018
string
иString
. - person Johnny Mopp   schedule 13.01.2018localtime
вызывается более чем одним потоком в вашей программе, значение*timeinfo
может быть скомпрометировано между вызовомlocaltime
и вызовомstrftime
. - person Howard Hinnant   schedule 13.01.2018