Ausgabe in Datei



  • Ich versuche Daten in eine Datei zu schreiben, aber irgendwie wird nichts in die Datei geschrieben, wieso?

    #include <fstream>
    using namespace std;
    
    int main()
    {
    int x[10];
    int i;
    i=0;
    x[1]=17;
    
    while(i<10,i++)
        {
        x[i+1]=x[i]+1;
        }
    
    int j;
    j=0;
    ofstream Aus("neu.txt");
    while (j<10,j++)
        {
    
        Aus << x[j+1]
        <<"    ";
        }
        return 0; 
    }
    


  • Was meinst du mit "wird nicht geschrieben"? Hast du dir die Datei angesehen, nachdem das Programm durchgelaufen ist?

    *genauer hinsieht* Allerdings sehen deine Abbruchbedingungen für die while-Schleifen unsinnig aus (Komma-Operator):

    while(i<10,i++) ...
    

    das i<10 wird ignoriert und i++ ausgewertet - letzteres erhöt i und gibt den alten Wert 0 (=false) zurück, so daß die Schleife sofort verlassen wird.
    Richtig wäre an dieser Stelle wohl eine for-Schleife:

    for(i=0;i<10;i++) ...
    


  • ausserdem darfst du nicht i+1 und j+1 in der schleife machen wenn du bis neun zählst. weil du dann in unreservierten bereichen stöberst.
    wenn du erreichen willst das in deiner datei von 17 bis 26 die zahlen stehen muss das so aussehen:

    #include <fstream>
    using namespace std;
    
    int main() {
     int x[10]={17};
    
      for(int i=0;i<9;i++) // keiner 9 weil x[i+1] => x[9] letztes element
        x[i+1]=x[i]+1;
    
      ofstream Aus("neu.txt");
      for(int i=0;i<10;i++)
        Aus << x[i] <<"    ";
    
      return 0;
    }
    

Anmelden zum Antworten