Warum gibt mir StreamReader nur das erste Zeichen aus??



  • Guten Abend,
    Ich habe ein Problem. Und zwar sollte mein Programm automatisch aus einer Textdatei (.txt) die erste Zeile auslesen und diese in ein label schreiben. Ich habe es schon mit vielem probiert, doch das hat alles nicht funktioniert. Am nächsten bin ich jetzt mit StreamReader gekommen.
    Doch leider schreibt dieser nur den ersten Buchstaben in das Label. Was mache ich falsch??

    Hier der Code:

    StreamReader^ reader = File::OpenText("C://haa//wohnung1.txt");
    			  try
         {
             label1->Text = reader->ReadLine();
         }
    			  finally
         {
    
             delete reader;
         }
    

    Mit freundlichem Gruss



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Sollte so passen - zeige mal den Inhalt der Text Datei...



  • Text Datei hat irgendein Inhalt... Wird in der vorherigen Form festgelgt...



  • ReadLine kennt alle 3 Arten von Zeilenumbrüchen die auf verschiedenen Systemen vorkommen können: \r, \n, \r\n. Daher kanns passieren das man mit nem Standardeditor keinen Zeilenumbruch sieht, weil er nicht dem Systemstandard entspricht, ReadLine aber sehr wohl einen Umbruch erkennt und nur das was vorher stand ausgibt.



  • Und wie kann ich das beheben? Muss ich die Textdatei anpassen?

    Oder wenn dies nicht funktioniert, wie kann ich machen, dass die Form automatisch beim Start den Inhalt einer RichTextBox einer anderen Form (auch eine andere Klasse) in eine RichTextBox der aktuellen Form importiert?

    Vielen Dank für die Antworten, super Forum 🙂

    Edit:
    Ich habe es geschafft!

    this->richTextBox1->LoadFile("C://haa//wohnung1.txt",RichTextBoxStreamType::UnicodePlainText);
    

    Vielen Dank für die Antworten!


Anmelden zum Antworten