Visual C++ Überschreiben beim Speichen in .txt verhindern

Spontan ohne genauer drüber nachzudenken:

Lies eine komplette Zeile aus der txt ein.
Dann splitten lassen (über '$'-Char).
Das nun "3-längige" Array kannst Du dann mit [0] [1] [2] bequem zuweisen.
Natürlich nicht vergessen beim splitten entweder direkt, oder beim zuweisen noch die verbleibenden '$' zu löschen.

Hast ja nur kurz beschrieben das da jetzt noch ne Nummer zukommt, woher und warum weis aber keiner. Gggf. wegoptimierbar wenn du die Reihenfolge in der TXT-Datei auch für die Übersichtsdarstellung behalten kannst.
 
Zuletzt bearbeitet:
Hallo,
wenn ich ehrlich bin versteh ich kaum wie ich die Sache angehen soll,
da ich sehr wenig mit den Informationen anfangen kann... Haste da vielleicht noch ein Tipp?

Danke!! :)
 
Benutze bitte mal google oder die MSDN dafür, SPLIT ist sehr leicht zu verstehen, das sage ich nicht als Profi, sondern auch als Anfänger:

http://tinyurl.com/y86tgn9

Dort findest Du dann auch deutsche Erklärungen oder kannst definitiv nur deutsche Seiten durchsuchen lassen.

Also:

Jede Zeile einzeln aus der TXT-Datei einlesen
Den gerade eingelesenen string direkt splitten lassen
Das dann erhaltene Array speichern oder direkt anzeigen lassen bzw. deiner Übersicht hinzufügen.
Dann die nächste Zeile aus der TXT-Datei einlesen und genauso weiterverfahren

Ist ganz easy wenn man sich mal ein paar Minuten einliest.

Über google kommt man dann zu solchen Beispielen welche man einfacher nicht mehr beschreiben könnte:
http://dotnet-snippets.de/dns/c-string-bei-bestimmten-zeichen-splitten-SID203.aspx
 
Zuletzt bearbeitet:
Tut mir leid, dass ich so unbeholfen bin...
ich habe mich nun ein wenig durchgeklickt und folgendes zusammengebastelt:

Code:
namespace FCL_Buch._System_IO
{

    public class Samples_Dateiinhalte
    {
        public void Datei_lesen()
        {

            // Zeilenweises Lesen aus einer Textdatei
            string text = @"text2.txt"; text.Split(new Char[] { '§' });
            // Datei öffnen
            FileStream fs = new FileStream(text, FileMode.OpenOrCreate, FileAccess.ReadWrite);
            // Stream öffnen
            StreamReader r = new StreamReader(fs);
            // Zeiger auf den Anfang
            r.BaseStream.Seek(0, SeekOrigin.Begin);
            // Alle Zeilen lesen und an Console ausgeben
            while (r.Peek() > -1)
                Console.WriteLine(r.ReadLine());
            // Reader und Stream schliessen
            r.Close();
            fs.Close();

            
        }

    }
}

Wie lass ich nun das ganze in einer textbox ausgeben?
 
Das ist ja grundsätzlich kein Problem, ging mir anfangs nicht anders, aber Du hast dich scheinbar noch so garnicht damit beschäftigt, sonst wäre Dir in der ersten Zeile schon etwas aufgefallen:

Code:
// Zeilenweises Lesen aus einer Textdatei
            string text = @"text2.txt"; text.Split(new Char[] { '§' });

Das kann so doch überhaupt nicht funktionieren, da dein string ja immer "text2.txt" als Inhalt hat, wo Du zudem nur deinen Dateinamen drin angibst. Und den willst Du dann mit einen Zeichen splitten was da nichtmal drin vorkommt.

Also fangen wir ganz am Anfang an, denn an die ausgabe in einer Textbox ist noch lange nicht zu denken:eek::

Textreader initialisieren und dann per while-schleife zeilenweise auslesen und den erhaltenen string an eine Methode (bzw. Funktion) übergeben.

Das solltest Du als erstes mal ergoogeln, ist sehr einfach, bzw. Du kannst das Beispiel hier entsprechend abändern, ohne jedoch selber zu recherchieren wirst Du es jedoch nicht schaffen, denn schon die DAteiübergabe deines Streamreaders wird so wohl kaum funktionieren.

Und dann ist da noch die Frage warum du plötzlich auf einer nit vorhandenen Konsole rumschreibst, obwohl Du aber eine Form-App erstellen willst.

Mein TIP:

Registrier Dich hier ordentlich und baue das Programm Stück für Stück auf.
Aller Anfang ist schwer, das weis auch ich, aber in 2 Stunden kriegt man auch mit NET so ein Programm nicht hin, zumindest nicht als Anfänger ohne zu recherchieren.

Fange damit an dich mit dem Stream bzw. Text-Reader ein wenig zu beschäftigen, die sind recht einfach zu verstehen und nicht kompliziert, das sollte schnell gehen.da Du nur die Grundfunktionen benötigst.
Das Wissen kombinierst Du dann mit einer while-Schleife und baust ein Programm welches den zeilenweise eingelesenen string an eine Funktion übergibt. Innerhalb dieser Funktion wird der String dann später gesplittet und ausgegeben.

Gute Infos gibt es auch hier in Deutsch:
http://openbook.galileocomputing.de...10_005.htm#mj922303d5496b3e2ba29c5c266e92c5fe

Schau Dir das Beispiel dort einmal an, kopiere es ggf. und ändere es so ab wie Du es benötigst, dann kann man weiterschauen.
 
Zuletzt bearbeitet:
Zurück