Enumerator
Mitglied Kamel
'n Abend!
Da ich immer wieder Logfiles in meinen Progs benötige, wollte ich eine simple, universelle Header basteln, die dem Client die (inline) Methode "schreib_log(const char* lpszText)" zur verfügung stellt.
Nun gibt's da aber ein Problem: Jede cpp-Datei die die Header nutzen soll, soll in dieselbe Log.txt schreiben - was so einfach gar nicht ist.
Das Ziel: Außerhalb der Header soll keine weitere Initilaisierung erforderlich sein, also funktioniert z. B. "extern FILE* logFile" in der Methode nicht.
Die Lösung: Z.B. ein globaler FILE-struct pointer, der nur einmal initialisiert wird (egal in wie vielen .cpp die .h eingebunden wird) - NUR WIE?
Hinweis: Selbstverständlich möchte ich aus Perfomance-Gründen nicht bei jedem Aufruf von "schreib_log(..)" die Datei öffnen und schließen...
THX im Vorraus, Mfg Enum
![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
![Mad :mad: :mad:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f621.png)
Da ich immer wieder Logfiles in meinen Progs benötige, wollte ich eine simple, universelle Header basteln, die dem Client die (inline) Methode "schreib_log(const char* lpszText)" zur verfügung stellt.
Nun gibt's da aber ein Problem: Jede cpp-Datei die die Header nutzen soll, soll in dieselbe Log.txt schreiben - was so einfach gar nicht ist.
Das Ziel: Außerhalb der Header soll keine weitere Initilaisierung erforderlich sein, also funktioniert z. B. "extern FILE* logFile" in der Methode nicht.
Die Lösung: Z.B. ein globaler FILE-struct pointer, der nur einmal initialisiert wird (egal in wie vielen .cpp die .h eingebunden wird) - NUR WIE?
Hinweis: Selbstverständlich möchte ich aus Perfomance-Gründen nicht bei jedem Aufruf von "schreib_log(..)" die Datei öffnen und schließen...
THX im Vorraus, Mfg Enum