Textdatei zeilenweise einlesen



  • Hi,

    ich hätte da mal ne Frage: Wie kann man eine Textdatei zeilenweise einlesen? Die Leerzeichen dienen als Trennzeichen und nur die ersten beiden Spalten sollen eingelesen werden.
    Wenn mir da jemand helfen könnte wäre ich echt dankbar.

    MfG
    michiwinni 😃



  • Ich helfe Dir, indem ich Dich auf die Suchfunktion verweise.



  • ach ja, die guten alten Standard C++Funktonen...

    kennst du streams? Nein? Wunderbar.

    Also, man nehme folgendes kommentierte Beispiel:

    #include<iostream>
    #include<string>
    #include<iostream>  //Include für Standard Streams
    using namespace std; //Namespace halt
    int main(int agrc, char *argv)
    {
      string Str[2]; //stringArray mit 2 Feldern
      ifstream lesen=open("Datei.txt"); //öffnet Datei
      lesen>>Str[0]>>Str[1]; /*schreibt in Str[0] bis erstes Leerzeichen, in Str[1] bis 2. Leerzeichen*/
      cout<<Str[0]<<"\n"<<Str[1]; //gibt beide Strings aus
      getchar(); /*Damit man das auch lesen kann und sich nicht wundert, warum das Fenster geschlossen wird...*/
      return 0; //fehlerfrei beendet
    }
    


  • Das funktioniert natürlich wie man es auch von Spieleprogrammierer gewohnt ist nicht mal noch als link

    http://www.c-plusplus.net/forum/viewtopic.php?t=35985&highlight=fopen

    so würde auch das von spieleprogrammierer funken

    #include<iostream> 
    #include<string>
    #include<fstream>  //Include für Standard Streams
    using namespace std; //Namespace halt
    int main(int agrc, char *argv)
    {
      string Str[2]; //stringArray mit 2 Feldern
      ifstream lesen; //in-file-stream
      lesen.open("Datei.txt"); //öffnet Datei
      lesen>>Str[0]>>Str[1]; /*schreibt in Str[0] bis erstes Leerzeichen, in Str[1] bis 2. Leerzeichen*/
      cout<<Str[0]<<"\n"<<Str[1]; //gibt beide Strings aus
      getchar(); /*Damit man das auch lesen kann und sich nicht wundert, warum das Fenster geschlossen wird...*/
      return 0; //fehlerfrei beendet
    }
    

    p.s ich hab mir nich die mühe gemacht die schwulen kommentare wegzumachen 😮



  • 1ntrud0r schrieb:

    Das funktioniert natürlich wie man es auch von Spieleprogrammierer gewohnt ist nicht

    Ach, wieso nicht? War's vielleicht ofstream? -ich verwechsel's immerwieder, und das hier will ich überlesen haben.



  • entweder mit der Klasse TStringList vom BCB
    oder mit standard C funktionen und Streams
    (such nach fopen oder streams)



  • Spieleprogrammierer schrieb:

    Ach, wieso nicht? War's vielleicht ofstream? -ich verwechsel's immerwieder, und das hier will ich überlesen haben.

    du brauchst es nicht überlesen ... du solltest es noch 2 mal durchlesen



  • Hi,
    also am einfachsten mit TStringList!

    TStringList *temp = new TStringList();
    temp->LoadFromFile("balbalabl.txt");
    
    // Dateiinhalt zeilenweisen in temp->Strings[x]
    // wobei x die Zeilen darstellt (1. Zeile - x==0)
    
    //WICHTIG am ENDE:
    delete temp; // THX @ Jansen
    

    MFG

    Alexander Sulfrian



  • Wenn schon, dann delete temp; 😉
    Ausserdem geht's hier nicht nur um das Laden der Datei.

    Allerdings wäre es ja erstmal interessant, zu erfahren, wie michiwinni sich das Ergebnis vorstellt, also in welchem Format die Daten am Ende vorliegen sollen bzw. was er damit machen will.


Anmelden zum Antworten