Mit CTime & asctime zu assign Zeit in einen String oder Vektorkette
Frage
Ich möchte asctime verwenden, um die Zeit in einen String zuzuweisen.
time_t rawtime;
time ( &rawtime );
vector<string> TTime;
TTime.resize(10);
TTime = asctime(localtime ( &rawtime ));
Ich verstehe asctime einen Zeiger auf einen String zurückgibt. Würde ich habe meine eigene Zeichenfolge erstellen und den Rückgabewert von asctime zuweisen, oder gibt es einen einfacheren Weg?
Lösung
Sie können eine Zeichenfolge konstruieren direkt von einem char *
:
string str = asctime(localtime ( &rawtime ));
Das ist nicht sinnvoll:
TTime = asctime(localtime ( &rawtime ));
Sie können nicht einen einzigen String in einen Vektor von Strings zuweisen. Was Sie können zu tun ist:
TTime[0] = asctime(localtime ( &rawtime ));
Andere Tipps
Sieht aus wie das, was Sie brauchen, ist eine einfache Zeichenfolge,
std::string TTime(asctime(localtime(&rawtime)));
Die Funktion asctime () return char * und die std :: string aus char konstruieren *
std :: string Zeit (asctime (Localtime (& rawtime)));
oder
std :: string Zeit; Zeit = asctime (asctimer (localtimer (& rawtime)));