View Full Version : [C++]Creare log programma.
ciao a tutti
come da titolo, sapreste dirmi come fare?
non si capisce cosa intendi.. esterna meglio cosa vorresti fare..
Dici un output che raccoglie le "esternazioni" testuali del tuo programma?
Io ti consiglio di fare una classe interfaccia + sue implementazioni, per cambiare log anche a runtime.
Log::setGlobalLog( new MyFileLog( "file_di_log.txt" ) );
Log::log( "Hello World!", PRIORITY_HIGH);
Come fare un'implementazione completa in realtà è facile,
ad esempio per fare output su file si tratta di aprire un fstream ed usarci l'operatore <<.
Senza dimenticare di chiuderlo :D
ho risolto in questo modo:
FILE *file;
file = fopen("UGProtectLogs.txt","a");
char memdata[200]="\nHotKeys Detected";
fwrite (memdata, 1 , sizeof(memdata), file );
fclose(file);
Ma quindi ti serviva solo come scrivere su un file?
Quel modo mi sembra davvero macchinoso... e poi e' per C :asd:
Meglio così:
#include <fstream>
...
fstream file( "UGProtectLogs.txt" );
file << "\nHotKeys Detected";
file.close();
il bello é che dapprima te la rifilano come una questione peculiarissima mai sentita per la quale non riescono ad immaginare una soluzione, come se non lo sapessero che basta scrivere su un file esattamente come scriverebbero su qualunque altro file :asd:
dopodiché se ne escono "ah ok, ho risolto in questo modo" ed il modo é pure sbagliato perché usa in C++ l'interfaccia di I/O del C :sbonk:
a volte mi pare che la gente scriva sul forum cosi tanto per perdere qualche minuto :rolleyes:
adesso però non capisci perchè i log escano: il primo sulla prima riga tutti gli altri buttati verso destra, questa è la modifica che ho apportato:
FILE *file;
file = fopen("UGProtectLogs.txt","a");
char memdata[200]=" HotKeys Detected\n";
char TimeLocal[20]="\n";
fwrite(timeDate, 1 , sizeof(TimeLocal) , file);
fwrite (memdata, 1 , sizeof(memdata), file );
fclose(file);
wingman87
20-03-2009, 18:36
Scusa ma come puoi pretendere di essere aiutato se non leggi nemmeno le risposte? Tommo ti ha dato la soluzione migliore.
con il codice di tommo mi dava una serie di errori nella compila, e perciò ho pensato di intraprendere un altra via ....
ah ecco, adesso risolto, con le stringhe che ho scritto prima.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.