tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
5383
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von FBIagent
    FBIagent FBIagent ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    281
    Wie im Betreff scon gesagt ich lese eine Datei ein (mit mehreren Zeilen).
    Das funktioniert auch ganz gut. Nur Wie bekomme ich das in ein string array?
    Ich habe schon einiges ausprobiert aber nchts hat geklapt... naja hier mal der Code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    #include <iostream>
    #include <fstream>
    #include <conio.h>
    using namespace std;
     
    int main()
    {
      string row;
      ifstream file("configs.txt");
     
      while(getline(file,row))
        cout << row << "\n";
     
      getch();
      return 0;
    }

    Die Textdatei kann immer eine andere Zeilenanzahl haben.
    Wie bekomm ich jede einzelne Zeile nun in ein Array, dass z.B. str_array[0] Zeile 1 ist,
    str_array[1] Zeile 2 ist?

    Also anstatt die Zeilen auszugeben sollen sie in ein Array gepackt werden.

    THX im Vorraus
    MFG FBIagent
    Geändert von FBIagent (11.12.05 um 18:38 Uhr)
     

  2. #2
    Registriert seit
    Oct 2003
    Beiträge
    1.706
    Hallo,

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    #include <iostream>
    #include <fstream>
    #include <vector>
     
    using namespace std;
     
    int main(){
        string row;
        vector<string> rows;
        ifstream file("configs.txt");
     
        while(getline(file,row)) rows.push_back(row);
     
        cout << "File content: " << endl;
     
        for(int i = 0; i < rows.size(); i++) cout << rows[i] << endl;
    }

    Siehe auch:
    http://cppreference.com/cppvector/
     
    "I'm not deaf, I'm ignoring you"
    ----

  3. #3
    Avatar von FBIagent
    FBIagent FBIagent ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    281
    Eine frage hab ich aber noch was hat in dem zusammenhang vector genau zu sagen?
    EDIT:
    Okay hat sich erledigt hatte was übersehen...
    Geändert von FBIagent (11.12.05 um 20:52 Uhr)
     

  4. #4
    Avatar von FBIagent
    FBIagent FBIagent ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    281
    Moin,

    also ich hatte heute erst Zeit das zu testen...

    Naja auf jeden fall funtzt es ned ich hab bisl rumprobiert aber es will einfach nicht.
    Es sieht auf jeden fall so aus als ob garnichts aus der Datei configs.txt gelesen wird:

    main.cpp
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    #include <iostream>
    #include <fstream>
    #include <vector>
    #include <conio.h>
     
    using namespace std;
     
    int main(){
      string row;
      vector<string> rows;
      ifstream file("configs.txt");
     
      while(getline(file,row))
        rows.push_back(row);
      
      cout << "File content: " << endl;
      for(int i=0;i<rows.size();i++)
        cout << rows[i] << endl;
      
      getch();
      return 0;
    }

    configs.txt
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    # Hostname/IP, Port
    hostIP=127.0.0.1
    port=3306
     
    # MySQL login infos
    usr=select_only
    pwd=

    Also es gibt keinen Fehler und Ausgegeben wird auch nichts.

    THX im Vorraus
    MFG FBIagent

    EDIT:
    Achne hab nen ganz dummen Fehler gemacht: Ich habe die Datei nicht configs.txt
    benannt sondern conifgs.txt... das hat sich jetzt definitiv erledigt

    Meine nächste frage wäre wie ich Zeilenweise in eine .txt Datei rein schreiben kann.

    THX im Vorraus
    MFG FBIagent
    Geändert von FBIagent (14.12.05 um 17:20 Uhr)
     

  5. #5
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.
    Zitat Zitat von FBIagent
    Meine nächste frage wäre wie ich Zeilenweise in eine .txt Datei rein schreiben kann.
    Wenn du die Zeilen aus deinem Vektor wieder in eine Datei zurückschreiben willst, geht das z.B. so:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    #include <algorithm>
    #include <iterator>
    #include <vector>
    #include <string>
    #include <iostream>
    ...
    copy (vec.begin(), vec.end(), 
          ostream_iterator<string>(ausgabe_datei, "\n"));

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  6. #6
    Avatar von FBIagent
    FBIagent FBIagent ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    281
    Ja und wie lasse ich die Datei in die ich schreiben will beim öffnen erstellen?
     

  7. #7
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von FBIagent
    Ja und wie lasse ich die Datei in die ich schreiben will beim öffnen erstellen?
    Code :
    1
    
    ofstream ausgabe_datei("datei.txt");

    Ein ofstream erstellt die Datei wenn sie noch nicht existiert (wenn möglich -> Stichwort Zugriffsrechte) bzw. löscht den Inhalt der Datei wenn die Datei bereits existiert.

    Es gibt da auch verschiedene andere Kombinationen von Flags die man optional als 2ten Parameter beim Konstruktor angeben kann. Siehe http://www.rafb.net/efnet_cpp/tutori..._openmode.html.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Datei zeilenweise einlesen - aber nicht die erste Zeile
    Von FoolMoon im Forum Java Grundlagen
    Antworten: 2
    Letzter Beitrag: 13.02.10, 19:22
  2. Antworten: 6
    Letzter Beitrag: 28.01.09, 23:04
  3. Datei Zeilenweise auslesen
    Von flashgrabber im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 14.06.05, 19:41
  4. Datei zeilenweise auslesen
    Von DivDax im Forum PHP
    Antworten: 2
    Letzter Beitrag: 17.05.05, 18:38
  5. Datei zeilenweise in Array einlesen!
    Von abi22 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 12.10.04, 13:21