HomeBlogMagic

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;
}
Permalink: https://adirmeier.de/Blog/ID_332
Tags: Blog, C++, log, stdvon am 2020-07-30