TDateTime in .txt schreiben
-
Hallo zusammen!
Wenn ich
String
verwende bekomme ich als Ergebnis?:Stelle:1 915f58c
Wenn ich
AnsiString
wie im unten stehenden Code verwende bekomme ich:Stelle:1 11:51:45
... wenn
&versuch[0]
verwende bekomme ich eineException
ohne InhaltWarum?try { int aktuelleStelle = 1; TDateTime zeitStempel; //String versuch = zeitStempel.CurrentTime(); AnsiString versuch = zeitStempel.CurrentTime(); ofstream logMyFile; if(logMyFile.is_open()) { logMyFile.close(); } logMyFile.open("scout.txt"); if(logMyFile.is_open()) { logMyFile<<"Stelle:"<<aktuelleStelle<<"\t"<<&versuch[1]<<std::endl; } if(logMyFile.is_open()) { logMyFile.close(); } } catch(Exception &e) { Application->ShowException(&e); }
-
AnsiString
hat die.c_str()
Funktion, die einen nullterminiertenchar const*
auf den Inhalt zurückgibt. Damit solltelogMyFile << versuch.c_str();
gehen.
-
@DocShoe sagte in TDateTime in .txt schreiben:
AnsiString
hat die.c_str()
Funktion, die einen nullterminiertenchar const*
auf den Inhalt zurückgibt. Damit solltelogMyFile << versuch.c_str();
gehen.
yupp sieht definitiv besser aus, dankeschön
zur ergänzung für Zeile 12:logMyFile.open("scout.txt",std::ios::app);
-
@1C0r3 sagte in TDateTime in .txt schreiben:
... wenn
&versuch[0]
verwende bekomme ich eineException
ohne InhaltWarum?In Delphi ist die Indizierung von Strings 1-basiert, d.h. das erste Zeichen steht in
versuch[1]
und nicht inversuch[0]
. Der Zugriff auf Index 0 ist damit ungültig und erzeugt einen Fehler. Das ist wohl eine Hinterlassenschaft von sehr viel früher, in Pascal stand an Index 0 die Länge des strings, der Inhalt folgt ab Index 1.
-
@DocShoe sagte in TDateTime in .txt schreiben:
@1C0r3 sagte in TDateTime in .txt schreiben:
... wenn
&versuch[0]
verwende bekomme ich eineException
ohne InhaltWarum?In Delphi ist die Indizierung von Strings 1-basiert, d.h. das erste Zeichen steht in
versuch[1]
und nicht inversuch[0]
. Der Zugriff auf Index 0 ist damit ungültig und erzeugt einen Fehler. Das ist wohl eine Hinterlassenschaft von sehr viel früher, in Pascal stand an Index 0 die Länge des strings, der Inhalt folgt ab Index 1.Oh danke für die Info