L'utilisation CTime & asctime pour affecter le temps à une chaîne ou une chaîne vecteur
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?
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)));