ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
69073
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    ReemE ist offline Mitglied Silber
    Registriert seit
    Feb 2002
    Beiträge
    85
    wie kann ich innerhalb einer Konsolen Anwendung bei c++ eine TXT Datei auslesen, die Ich vorher bestimmen kann ...

    D.h ich will vorher ein Input machen, indem man den Pfad der Datei eingibt, die dann später ausgelesen werden soll ...

    bekomm das aber nich hin ..
    thx
     

  2. #2
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.074
    meinst du sowas hier:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    
    #include <iostream>
    #include <fstream>
     
    using namespace std;
     
    int main(int argc, char *argv[])
    {
        char     filename[128];
        ifstream file;
        char     zeile[1024];
     
        // Dateinamen einlesen
        cout << "Dateinamen eingeben: " << flush;
        cin.getline(filename, 127);
     
        // Datei öffnen
        file.open(filename, ios::in);
     
        if (file.good())
        {
            // Wenn die Datei geoeffnet werden konnte...
     
            // An den Anfang der Datei springen
            file.seekg(0L, ios::beg);
     
            while (! file.eof())
            {
                // Die Datei zeilenweise auslesen
                file.getline(zeile, 1024);
                cout << zeile << endl;
            }
        }
        else
        {
            // Wenn die Datei nicht geoeffnet werden konnte,
            // aus welchen Gruenden auch immer...
            cout << "Datei nicht gefunden." << endl;
        }
     
        return 0;
    }
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  3. #3
    ReemE ist offline Mitglied Silber
    Registriert seit
    Feb 2002
    Beiträge
    85
    das angegebene kann leider nur TXT dateien, die 1 eine zeile enthalten ...

    ;(
     

  4. #4
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.074
    dass das nur mit einzeilern funktioniert, ist teilweise richtig.
    eine möglichkeit wäre es eben, dass du in einer schleife jede zeile ausliest und an eine weitere variable anhängst.

    da gibt's aber sicher auch eine bessere möglichkeit, mit der man die ganze datei einlesen kann.
    oder du verzichtest auf objektorientierung und machst das mit normalem c, indem du jedes einzelne zeichen einliest und an eine variable anhängst.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  5. #5
    ReemE ist offline Mitglied Silber
    Registriert seit
    Feb 2002
    Beiträge
    85
    nope, das will ich nicht ....

    Das mit der schleife is schon ne gute idee..
    aber wo muss ich die ansetzen ****?
     

  6. #6
    Registriert seit
    Dec 2001
    Ort
    Friedrichshafen am Bodensee (BW)
    Beiträge
    775
    Hmmm, schau mal hier
     

  7. #7
    ReemE ist offline Mitglied Silber
    Registriert seit
    Feb 2002
    Beiträge
    85
    hmm, kann das nich lesen, is so klein gedruckt .. naja ..
    is ja nich schlimm ...
     

  8. #8
    Registriert seit
    Dec 2001
    Ort
    Friedrichshafen am Bodensee (BW)
    Beiträge
    775
    dann nicht.
     

  9. #9
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.074
    hmm, kann das nich lesen, is so klein gedruckt .. naja ..
    bei allem respekt, aber das ist doch nun wirklich etwas sehr albern, oder?
    das ist ein pdf. und wie wir alle wissen kann man im acrobat reader zoomen. oder stell deine auflösung runter. oder druck es aus und lies es auf papier.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  10. #10
    Guntpat1981 ist offline Mitglied Bronze
    Registriert seit
    Jan 2005
    Beiträge
    35
    Also wirklich!
     

  11. #11
    Warum denn Tutorials.de Gastzugang
    Halloa!
    Also man kann sehr unkompliziert eine ganze Datei auslesen. Allerdings dann nicht mehr so gezielt, wie mit der oben beschriebenen Methode:

    #include <fstream>
    #include <iostream>
    using namespace std;

    void main()
    {
    ofstream out("witz.txt");
    out<<"Es kommt ein Mann zum Baecker und sagt: Ich moechte 99 Broetchen."<<endl;
    out<<"Da fragt der Baecker: Duerfen es auch 100 sein?"<<endl;
    out<<"Der Mann antwortet: Nein, wer koennte denn so viele essen?"<<endl;


    ifstream in("witz.txt");
    while(in.eof()!=true) //eof gibt an, wann die txt fertig ausgelesen ist
    {
    char ch;
    ch=in.get();
    cout<<ch;
    };

    cin.get();
    };

    Grüße!
     

  12. #12
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.785
    Zitat Zitat von Warum denn Beitrag anzeigen
    ifstream in("witz.txt");
    while(in.eof()!=true) //eof gibt an, wann die txt fertig ausgelesen ist
    Es sei denn es tritt vorher ein Eingabefehler auf, dann wird die Bedingung nie erfüllt und man erhält eine Endlosschleife. Darum sollte man eine solche Abfrage nie verwenden. Besser und einfacher:
    Code cpp:
    1
    
    while (in)

    Die einfachste Möglichkeit, eine gesamte Datei einzulesen und auf der Standardausgabe auszugeben, wurde allerdings noch nicht genannt:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    #include <algorithm>
    #include <fstream>
    #include <iostream>
    #include <iterator>
     
    using namespace std;
     
    int main(void) {
      ifstream in("witz.txt");
      copy(istreambuf_iterator<char>(in),
           istreambuf_iterator<char>(),
           ostreambuf_iterator<char>(cout));
      return EXIT_SUCCESS;
    }

    Grüße,
    Matthias
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”

Thema nicht erledigt

Ähnliche Themen

  1. Datei einlesen in C++
    Von marina75 im Forum C/C++
    Antworten: 15
    Letzter Beitrag: 10.11.09, 22:10
  2. PL/SQL Datei einlesen
    Von zuckerbrini im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 16.02.09, 10:36
  3. CSV-Datei einlesen
    Von WIK-Lars im Forum PHP
    Antworten: 4
    Letzter Beitrag: 03.07.07, 17:39
  4. Datei auswählen, Datei einlesen
    Von -TS- im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 21.04.05, 21:08
  5. Datei einlesen in Batch- (o. ä.) Datei
    Von tapferesschneiderlei im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 04.02.05, 13:28