C++ Zeit für Log-Dateinamen
Wer Log-Dateien ablegen will, will diese oftmals auch mit einem Zeitstempel versehen. Sinnvoll dafür ist es auchd die Zeit in die Datei zu übernehmen. Dazu gibt es im C++ die Möglichkeit den Namen mit der Systemzeit generieren zu lassen.
Dazu kann man folgend Zeilen Code benutzen:
std::time_t result = std::time(nullptr);
std::string sNewFile = "/var/log/Application/Log_";
char pBuff[50];
strftime(pBuff, 20, "%Y-%m-%d_%H_%M_%S", localtime(&result));
sNewFile += pBuff;
sNewFile += ".txt";
Die notwendigen includes:
#include <string>
#include <ctime>
Beispiel mit localtime_s/localtime64_s
Zum Beispiel für die Log-Ausgabe:
#include <time.h>
std::string sTime("[0000-00-00_00:00:00]");
__time64_t result;
_time64(&result);
char pBuff[50];
tm tBuff;
if (0 == _localtime64_s(&tBuff, &result))
{
strftime(pBuff, 20, "[%Y-%m-%d_%H:%M:%S]", &tBuff);
sTime = pBuff;
}