Anzeige:
Ergebnis 1 bis 6 von 6

Thema: File Zeilenweise auslesen

  1. #1
    Debuger
    Gast

    File Zeilenweise auslesen

    wie kann man ein Textfile zeilenweise auslesen und dabei jede Zeile nummerieren??

  2. #2
    Registrierter Benutzer
    Registriert seit
    12.12.1999
    Ort
    Landshut
    Beiträge
    80
    Hallo Debuger,

    folgendes C++ Programm liest z.B. deine /etc/fstab zeilenweise ein, und gibt sie mit Zeilen Nr. am Bildschrim und in die Datei fstab.txt (im aktuellen Verszeichnis) aus. Mit "g++ programm.cpp -o programm" kannst du das Programm compilieren.

    Gruss Rupert

    Code:
     
    #include <iostream>
    #include <fstream>
    #include <sstream>
    #include <string>
    
    int main()
    {
            ifstream leseDatei( "/etc/fstab" ); // Eingabe Datei
            ofstream schreibeDatei( "fstab.txt" );  // Ausgabe Datei
    
            string Zeile;
            int i=1;
            while (getline(leseDatei,Zeile)) // Zeilenweise lesen
            {
                    stringstream S;
                    S  << i++ << ": " << Zeile << endl; // Zeile bearbeiten
                    cout << S.str();    // Ausgabe auf den Bildschirm
                    schreibeDatei << S.str();    // Ausgabe in die Datei fstab.txt
            }
    }

  3. #3
    Debuger
    Gast
    THX

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.10.1999
    Ort
    Dresden
    Beiträge
    255
    Warum so umständlich?

    nl /etc/fstab

    oder

    awk '{print NR, $0}' /etc/fstab

    Thomas

  5. #5
    Registrierter Benutzer
    Registriert seit
    12.12.1999
    Ort
    Landshut
    Beiträge
    80
    @ thommy:

    Weil ich nl bis heute nicht gekannt habe
    und weil ich von awk Null Ahnung habe

    und weil die Frage natuerlich im Prog-Forum und nicht im Script-Forum steht

    Gruss Rupert

  6. #6
    Debuger
    Gast
    #include <stdio.h>

    void abbruch(void);
    int zeile;

    int main(int argc, char *argv[])
    {
    char puffer[128];
    FILE *textdatei;

    if (argc < 2) {
    printf("Kein Argument angegeben\n");
    getchar();
    return 1;
    } // if

    if ((textdatei = fopen (argv[1], "r" )) == NULL) {
    fprintf(stderr, "Sh*** ein Fehler beim oeffnen der datei %s ist aufgetreteten!",argv[1]);
    getchar();
    return 1;
    } // if

    while (fgets(puffer,128,textdatei) != NULL) {
    fprintf(stdout, "%4d:\t%s", zeile++,puffer);
    } // while

    fclose(textdatei);
    getchar();
    return 0;

    } // main

    eir kannich das alles rückwärts ausgeben.???
    Ich meine nur die Zeilen nicht alle Buchstaben.

Lesezeichen

Berechtigungen

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