Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 19.07.2004, 21:42 Titel: Problem mit Zeit |
|
|
Hi,
ich hab mir ne Funktion geschrieben, um unproblematisch Textdateien zuschreiben, z.B. zum debuggen o.ä.
Code: | void WriteEntryLog(std::string text)
{
time_t t;
std::ofstream Log;
time(&t);
Log.open("Log.txt", ios::app);
Log << "[" << ctime(&t) << "] - " << text.c_str() << '\n';
Log.close();
}; |
aver "ctime(&t)" macht jetzt Ärger, weil scheinbar automatisch ein Zeilenumbruchszeichen angehangen wird...
Das sieht dann in der Log so aus:
Code: | [Mon Jul 19 23:40:44 2004
] - blablubb |
wie bekomm ichn diesen Zeilenumbruch weg, bzw, wie kann ichn das letzte Zeichen aus "t" entfernen?? |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 19.07.2004, 23:29 Titel: |
|
|
mach halt sowas in der art:
Code: |
ctime(&t);
char* time;
strncpy(time, time, strlen(time)-1);
Log << "[" << time << "] - " << text.c_str() << '\n';
|
|
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 20.07.2004, 05:55 Titel: |
|
|
oder einfach:
Log << "[" << ctime(&t) << "\b] - " << text.c_str() << '\n'; _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 20.07.2004, 08:46 Titel: |
|
|
hmm... geht nicht, der Zeilenumbruch ist immer noch da, da kommt nur noch s n merkwürdiges anderes Zeichen dazu...
Es muss doch eine Möglichkeit geben den "Textcursor" sozusagen um eine Stelle nach links zu verschieben, gibts da vlt auch irgendn Steuerzeichen?
mit \b das letzte Zeichen löschen hat ja nich funktioniert.... |
|
Nach oben |
|
|
Sec Junior JLI'ler
Anmeldedatum: 18.09.2002 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 20.07.2004, 10:44 Titel: |
|
|
so gehts
Code: |
time_t CurrentTime = time(NULL);
string LogString = "[";
LogString += ctime(&CurrentTime);
LogString[LogString.length() - 1] = ']';
LogString += " - BOOOOOOOM";
|
so wird das \n am ende des strings zu ] _________________ MFG Sec |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 20.07.2004, 11:41 Titel: |
|
|
ok, thx...
funzt einwandfrei... da hätte ich auch selber draufkommen können |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 20.07.2004, 12:05 Titel: |
|
|
TheMillenium hat Folgendes geschrieben: | oder einfach:
Log << "[" << ctime(&t) << "\b] - " << text.c_str() << '\n'; |
Diese Möglichkeit finde ich am besten, nur ein Zeichen mehr so bleibt alles schön übersichtlich.
/b=Backspace _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 20.07.2004, 12:12 Titel: |
|
|
ja fallen, aber das problem ist, dass \b nicht in dem string ein zeichen entfernt, sondern einfach als zeichen angehängt wird, und dann in der textdatei so ein viereck an der stelle erscheint |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 20.07.2004, 12:15 Titel: |
|
|
genau das meinte ich mit "merkwürdiges zeichen", habs nur nich so recht verstanden, aber thx für Erklärung... |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 20.07.2004, 12:38 Titel: |
|
|
Hat das denn mal jemand bei dem Problem hier probiert ? _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 20.07.2004, 12:39 Titel: |
|
|
natürlich... |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 20.07.2004, 13:59 Titel: |
|
|
Dann halt so:
Code: | string LogString;
sprintf(LogString,"[%s\b] - %s\n",ctime(&t),text.c_str()); |
==>
Code: | void WriteEntryLog(std::string text)
{
time_t t;
std::ofstream Log;
time(&t);
Log.open("Log.txt", ios::app);
string LogString;
sprintf(LogString,"[%s\b] - %s\n",ctime(&t),text.c_str());
Log << LogString;
Log.close();
}; |
_________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
|