Usando Ctime & Asctime para atribuir tempo a uma string ou string vetorial
Pergunta
Eu gostaria de usar asctime para atribuir o tempo a uma string.
time_t rawtime;
time ( &rawtime );
vector<string> TTime;
TTime.resize(10);
TTime = asctime(localtime ( &rawtime ));
Entendo que o Asctime está retornando um ponteiro para uma string. Eu teria que criar minha própria string e atribuir o valor de retorno da ASCTime, ou existe uma maneira mais simples?
Solução
Você pode construir uma string diretamente de um char *
:
string str = asctime(localtime ( &rawtime ));
Isso não faz sentido:
TTime = asctime(localtime ( &rawtime ));
Você não pode atribuir uma única string a um vetor de strings. O que você posso fazer é:
TTime[0] = asctime(localtime ( &rawtime ));
Outras dicas
Parece que o que você precisa é de uma corda simples,
std::string TTime(asctime(localtime(&rawtime)));
A função asctime () return char* e a string std :: pode construir a partir de char*
std :: string time (Asctime (LocalTime (& RawTime)));
ou
std :: string time; time = asctime (Asctimer (Localtimer (& RawTime)));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow