C++ fstream datei Zeichenweise einlesen.



  • Hallo ich würde in C++ gerne eine Datei Zeichen für Zeichen einlesen habe aber das Problem das ich es nur schaffe sie Zeilenweise einzulesen.

    #include <iostream>
    #include <fstream>
    #include <ostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <stdint.h>
    #include <Windows.h>
    
    using namespace std;
    int main(){
    int a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;
    char     filename[128];
    ifstream file;
    char     zeile[1024];
    cout << "Dateinamen eingeben: " << flush;
    cin.getline(filename, 127);
    file.open(filename, ios::in);
    if (file.good())
        {
    
            file.seekg(0L, ios::beg);
    
            while (! file.eof())
            {
    
                file.getline(zeile, 1024);
                cout << zeile << endl;
            }
        }
        else
        {
    
            cout << "Datei nicht gefunden." << endl;
        }
    
    system("Pause");
    }
    


  • Hallo Neurotrin

    Im gezeigten Code benutzt to std::ifstream::getline(..) , welches eine Zeile (=Line) einliest. Um ein Zeichen einzulesen, kannst du std::ifstream::get(..) verwenden (siehe hier). Es gibt auch noch eine weitere Möglichkeit mit Stream-Iteratoren, aber das würde ich mir erst später anschauen.

    Zusätzliche Anmerkungen:
    - Dein Code ist ISO/ANSI C++ und nicht C++/CLI, d. h. du bist im falschen Unterforum gelandet
    - Benutze für Strings auch die Mittel der C++ Standard Library, d. h. std::string , das macht es viel einfacher und sicherer

    Weiterhin viel Spass!



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++/CLI mit .NET in das Forum C++ (alle ISO-Standards) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • theta schrieb:

    Hallo Neurotrin

    Im gezeigten Code benutzt to std::ifstream::getline(..) , welches eine Zeile (=Line) einliest. Um ein Zeichen einzulesen, kannst du std::ifstream::get(..) verwenden (siehe hier). Es gibt auch noch eine weitere Möglichkeit mit Stream-Iteratoren, aber das würde ich mir erst später anschauen.

    Zusätzliche Anmerkungen:
    - Dein Code ist ISO/ANSI C++ und nicht C++/CLI, d. h. du bist im falschen Unterforum gelandet
    - Benutze für Strings auch die Mittel der C++ Standard Library, d. h. std::string , das macht es viel einfacher und sicherer

    Weiterhin viel Spass!

    Dankeschön ich werds abändern.
    Und am jetzt im richtigen unter bereich posten 😃


Anmelden zum Antworten