Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Datei mit C++ zeilenweise einlesen

  1. #1
    Gast

    Post

    Hier ein Auszug aus einem älteren Proggi von mir, welcher eine Textdatei öffnet (im textmodus), eine Zeile einließt und in zeile[] speichert, diese mit "Format=1" vergleicht, und eine kleine Ausgabe macht, falls die eingelesene Zeile nicht dem String entspricht.
    Sion

    Code:
    int datenlesen(char *dateiname)
    {
       FILE *quelle;
       char zeile[ZEILENLAENGE];  // Zeilenbuffer
       int n = 0;                 // Zähler für aktuelles Zeichen
       int tnr = 0;               // Zähler für aktuellen Track
    
       // =======================
       // Dateien öffnen & prüfen
       quelle = fopen(dateiname, "r");
       if (quelle == NULL) 
          {printf("\nQuelle \"%s\" falsch - kann Datei nicht öffnen\n", dateiname);return -1;}
       fgets(zeile, ZEILENLAENGE, quelle); //1. Zeile einlesen
       if ((strnicmp(zeile,"Format=1",8)) != 0) 
          {printf("\nQuelle \"%s\" falsch - fängt falsch an\n", dateiname);return -1;}
    
       // ===============
       // Datei schließen
       fclose(quelle);
       return 0;
    }
    Hupsa, klar das mir das jetzt schon auffällt, daß du ja C++ und nicht C meinst. Sollte aber in C++ überhaupt kein Problem machen, weil C++ ja C-Compatible ist und das da oben auch voll nach ANSI.
    Die Fkt. die Du gesucht hast heißt übrigens fgets()

    [Dieser Beitrag wurde von Sion am 01. Februar 2001 editiert.]

  2. #2
    Gast

    Post

    Wenn schon C++, dann bitte aber sowas aehnliches:

    Code:
    #include <iostream.h>
    #include <fstream.h>
    #include <string>
    
    int main() {
      ifstream fin("Makefile");
      string buffer;
    
      cout << "Hier der Inhalt der Datei:\n";
      while (fin.good()) {
        getline(fin,buffer,'\n');
        cout <<buffer<<endl;
      }
      cout << "\nEnde der Ausgabe\n";
      fin.close();
    }
    bye

  3. #3
    Gast

    Question Datei mit C++ zeilenweise einlesen

    Hallo,

    ich weiß, dass man mit einem Code wie

    ifstream fin(irgendeinfileName)
    cout << "Hier der Inhalt der Datei:\n";
    char ch;
    while (fin.get(ch)) cout << ch;
    cout << "\nEnde der Ausgabe\n";
    fin.close();

    eine Datei zeichenweise einlesen und ausgeben kann. Ganz klar ist mir aber nicht, wie ich eine (Text-)Datei einlesen kann und dann den Inhalt in einer oder meherer Variablen zur Bearbeitung ablegen kann. Ich möchte erreichen, dass man mit einem C++ Programm Textdateien, wie z.B. Konfigurationsdateien bearbeiten kann.

    Vielen Dank für eure Hilfe...Ulf

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •