textdatei in int werte array einlesen



  • guten tag ich hab eine messwertdatei .txt

    daten sind wie folgt in der datei
    leehrzeichen 01 leerzeichen 14 leerzeichen 09 leer...

    wie kann man die geschickt in ein array einlesen
    mit putchar(fgetc(dat_ein));
    kann ich mir die datei ansehen
    aber wie bekomme ich ANFÄNGER die werte in ein ARRAY zur weiterverarbeitung

    die werte sind in zeilen zu je 48 dann folgt return
    das ist bestimmt auch noch abzufangen oder macht c das automatich

    danke
    😕



  • schau dir mal die funktion atoi() an



  • Eine weitere mögliche Vorgehensweise:

    ...
        int arr[1000];
        ifstream("messwertdatei .txt") a;
    
        for (int i = 0; a.good() && i < 1000; ++i)
            arr[i] << a;
        ...
    


  • so ist's richtiger

    #include <fstream>
    using namespace std;
    
    int main()
    {
    	int arr[1000];
        ifstream a("messwertdatei .txt");
    
        for (int i = 0; a.good() && i < 1000; ++i)
            a >> arr[i];
    
        return 0;
    }
    


  • warum nicht so:

    #include <fstream>
    #include <vector>
    
    int main()
    {
        std::vector< int >werte;
        ifstream ofile( "messwertdatei.txt" );
    
        for (int i = 0; ofile.good(); ++i)
            werte.push_back( ofile );
    
        return 0;
    }
    

    dann ist es wenigstens nicht in seiner laenge begrenzt und das programm funktioniert auch wenn es 2mil zeilen sind {solange genug speicher frei ist is klar}



  • #include <iterator>
    #include <fstream>
    #include <vector>
    
    int main ()
    {
        std::fstream f ("messwertdatei.txt");
        std::vector<int> v;
        std::copy (std::istream_iterator<int> (f), std::istream_iterator<int> (), std::back_inserter (v));
    }
    


  • danke für die antworten das hilft ungemein die c++ bücher geben da viel zu wenig her


Anmelden zum Antworten