Ich erwartete, dass der folgende Code verschiedene Zeitstempel t1 und t2 drucken sollte, jedoch zeigt das Ergebnis, dass t1 und t2 gleich sind. Wo habe ich den Fehler gemacht?Wie man ctime() benutzt, um verschiedene Zeitstempel zu drucken
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
time_t t1 = time(NULL);
cout << "time now " << ctime(&t1) << endl;
time_t t2 = t1 + 10000.0;
cout << "time now " << ctime(&t1) << endl << " time later " << ctime(&t2) <<endl;
}
Ergebnis:
time now Thu Apr 28 20:37:03 2016
time now Thu Apr 28 20:37:03 2016
time later Thu Apr 28 20:37:03 2016
PS: Basierend auf den wunderbaren Antworten unten, sollte das Problem zu verwendet werden, um sowohl wie ctime() Funktion funktioniert und die Ordnung Compiler cout Argumente zu bewerten. Zu Letzterem siehe http://stackoverflow.com/questions/12960241/explain-the-order-of-evalution-in-printf für ein Beispiel – daydayup