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?

War es hilfreich?

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)));

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top