Ascii datei öffnen und einlesen



  • hallo zusammen,

    ich möchte eine ascii datei öffnen und einlesen habe aber leider keine ahnung wie das geht. könnte mir bei diesem problem jemand weiterhelfen?

    vielen dank

    viele grüße



  • Schau dir in der MSDN mal die Klassen CFile, oder einfacher CStdioFile an.

    😉

    Paul.



  • Neben der CFile-Klasse aus der Mfc gibt es noch viel andere Möglichkeiten.

    Für das Problem habe ich eine kleine Sammlung:

    StringStream:

    string file_content(const string& filename)
    {
        ifstream ifs(filename.c_str());
        assert(ifs);
    
        stringstream ss;
        ss << ifs.rdbuf();
    
        return ss.str();
    }
    

    Zeichenweises Lesen:

    void load_file(std::string& s, std::istream& is)
    {
       s.erase();
       s.reserve(is.rdbuf()->in_avail());
       char c;
       while(is.get(c))
       {
          if(s.capacity() == s.size())
             s.reserve(s.capacity() * 3);
          s.append(1, c);
       }
    }
    std::ifstream fs(argv[i]);
    std::string in;
    load_file(in, fs);
    

    mit getline und binär:

    fs::ifstream fin( file_path, std::ios_base::in|std::ios_base::binary 
    if ( !fin )
      throw string( "could not open input file: " ) + file_path.string();
    std::getline( fin, target, '\0' ); // read the whole file
    

    Achtung die Beispiele sind aus verschiedenen Quellen zusammen kopiert und z.T. unvollständig. Sie sollten nur als Anregung dienen.

    Sven



  • also ich habs jetzt hingekriegt mit dem einlesen und mit der ausgabe auch wieder. kann mir einer von euch vielleicht sagen wie ich des in ein array speichern kann da die files die ich einlese unterschiedliche längen haben.

    vielen dank schon mal


Anmelden zum Antworten