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?

Foi útil?

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
scroll top