Использование CTime и asctime для присвоения времени строке или векторной строке - PullRequest
0 голосов
/ 17 ноября 2010

Я хотел бы использовать asctime, чтобы назначить время для строки.

time_t rawtime;
time ( &rawtime );
vector<string> TTime;
TTime.resize(10);
TTime = asctime(localtime ( &rawtime ));

Я понимаю, что asctime возвращает указатель на строку. Должен ли я создать свою собственную строку и присвоить ей возвращаемое значение asctime, или есть более простой способ?

Ответы [ 3 ]

1 голос
/ 17 ноября 2010

Вы можете создать строку непосредственно из char *:

string str = asctime(localtime ( &rawtime ));

Это не имеет смысла:

TTime = asctime(localtime ( &rawtime ));

Вы не можете назначить одну строку на вектор строк. То, что вы можете сделать, это:

TTime[0] = asctime(localtime ( &rawtime ));
0 голосов
/ 17 ноября 2010

Функция asctime () возвращает символ * и std :: string можно построить из char *

std :: string time (asctime (localtime (& rawtime)));

или

std :: string time; time = asctime (asctimer (localtimer (& rawtime)));

0 голосов
/ 17 ноября 2010

Похоже, вам нужна простая строка,

std::string TTime(asctime(localtime(&rawtime)));
...