L'utilisation CTime & asctime pour affecter le temps à une chaîne ou une chaîne vecteur

StackOverflow https://stackoverflow.com/questions/4200504

  •  25-09-2019
  •  | 
  •  

Question

Je voudrais utiliser asctime pour affecter le temps à une chaîne.

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

Je comprends asctime renvoie un pointeur sur une chaîne. Est-ce que je dois créer ma propre chaîne et attribuez-lui la valeur de retour de asctime, ou est-il un moyen plus simple?

Était-ce utile?

La solution

Vous pouvez construire une chaîne directement à partir d'un char *:

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

Cela n'a pas de sens:

TTime = asctime(localtime ( &rawtime ));

Vous ne pouvez pas affecter une seule chaîne à un vecteur de chaînes. Qu'est-ce que vous peut faire est:

TTime[0] = asctime(localtime ( &rawtime ));

Autres conseils

On dirait que vous avez besoin est une chaîne simple,

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

La fonction asctime () return char * et la std :: string peut construire à partir de char *

std :: temps de chaîne (asctime (localtime (& rawtime)));

ou

std :: temps de chaîne; temps = asctime (asctimer (localtimer (& rawtime)));

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top