Erzeugen einer Textdatei
-
Hallo,
beim Schreiben in eine Textdatei mache ich die Zeichenabstände zueinander mit Leerzeichen und Tabs ("\t"). Diese Methode ist nicht elegant, da die Textlängen variabel sind.CString str_text = "Erste Zeile\r\nZweite Zeile, erste Spalte\t\tZweite Zeile zweite Spalte"; fprintf_s(fDatei,"%s", str_text);Gibt es eine Mögichkeit eine Art Tabelle (ohne Gitternetz) aufzubauen, oder kann man absolute Taulatoren bzw. in den Textstring einfügen?
Vielen Dank!
fujitsufan
-
Schau dir mal IOSTREAM genauer an.
-
Hallo,
oder die CString-Format-Methode, dort kann man Feldlängen festlegen.
MfG,
Probe-Nutzer
-
Probe-Nutzer schrieb:
Hallo,
oder die CString-Format-Methode, dort kann man Feldlängen festlegen.
MfG,
Probe-Nutzer
Hallo,
also bei funktioniert das nicht.
Ich kann zwar erzwingen ob der String rechts- oder linksbündig sein soll, die Anzahl der gewünschten Zeichenlänge wird ignoriert.
Ich gehe jetzt davon aus, dass die erste Spalte 1 Sp1 5 Felder lang, die Spalte 2 Sp2 5 Felder, die Spalte 3 Sp2 8 Fleder breit ist, usw. egal wievel Zeichen in der Spalte stehen. Der Rest der Spalte sollte mit Leerzeichen gefüllt sein.Linksbündig:
CString str_format; str_format = "%.5s\t%.5s\t%.8s\t%.70s\t%s\r\n"; str_format.Format("Sp1.", "Sp2.", "Sp3", "Sp4", "Sp5");Rechtsbündig:
CString str_format; str_format = "%5s\t%5s\t%8s\t%70s\t%s\r\n"; str_format.Format("Sp1.", "Sp2.", "Sp3", "Sp4", "Sp5");Ich komm´ nicht drauf.
fujitsufan
-
Du hast die Formatspezifikation nicht verstanden:
%-9.5
- bedeutet linskbündig
9 bedeutet minimale Ausgabelänge 9
5 bedeutet maximale Textlänge des String ist 5Siehe MSDN Doku zu printf!