Autor Beitrag
DarkSu
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Sa 11.05.13 12:08 
Hallo zusammen ..

Ich habe hier ein Textfile mit Daten in einer einzigen Zeile, die aber ein festes Muster hat. Wie könnte ich es anstellen dieses File quasi NEU aber Zeilenorientiert zu schreiben. Das ganze müsste alle 34 Bytes umbrechen, also mit einem CR/LF versehen werden.

Vielleicht könnte mir da jemand so unter die Arme greifen das ich es verstehe.

Habe mit IO Operationen so gut wie noch nichts gemacht, sorry !

Gruß DarkSu
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 11.05.13 13:25 
Hallo DarkSu,

das geht ziemlich einfach, s. z.B. Gewusst wie: Zeilenweises Lesen einer Textdatei.
Einzig anstatt ReadLine müßtest du dann die Read-Methode aufrufen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
const int count = 34;
char[] buffer = new char[count]; // edited ;-)
int read;

StreamReader inputfile = new StreamReader("inputfile.txt");
StreamWriter outputfile = new StreamWriter("outputfile.txt");

while ((read = inputfile.Read(buffer, 0, count)) > 0)
{
  // und wieder in neue Datei (+Zeilenumbruch) zurückschreiben
  outputfile.WriteLine(buffer, 0, read);
}

(ob das so kompiliert und funktioniert müßtest du dann mal debuggen...)

P.S. Hier noch der MSDN-Link zu weiteren "Gewusst wie - E/A Aufgaben": Allgemeine E/A-Aufgaben

Edit: Variable read hinzugefügt, um auch die letzte Zeile korrekt zu speichern


Zuletzt bearbeitet von Th69 am Sa 11.05.13 15:51, insgesamt 1-mal bearbeitet
DarkSu Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Sa 11.05.13 14:51 
Hallo Th69 ..

Vielen Dank für deinen Beitrag .. Hat mir sehr geholfen !!!
Ein Fehler hat sich eingeschlichen der aber nicht wild war. :-)

Soll:
ausblenden C#-Quelltext
1:
char[] buffer = new char[count];					


Gruß DarkSu

Moderiert von user profile iconTh69: Quote- durch C#-Tags ersetzt