Lesen & Schreiben der Datei in ein array

Ich bin versucht, zu schreiben, um eine text-Datei, und Lesen von text-Datei zu erhalten, die den Durchschnitt der Elemente in einem array. Hier ist mein code:

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
float total =0;;

ofstream out_file;
out_file.open("number.txt");

const int size = 5;
double num_array[] = {1,2,3,4,5}; 

for (int count = 0; count < size; count++)
{
    if (num_array[count] == 0)
    {
        cout << "0 digit detected. " << endl;
        system("PAUSE");
    }
}
double* a = num_array;
out_file << &a;

out_file.close();

ifstream in_file;
in_file.open("number.txt");
if(in_file.fail())
{
    cout << "File opening error" << endl;
}else{
    for (int count =0; count< size; count++){
        total += *a;  //Access the element a currently points to
        *a++;  //Move the pointer by one position forward
    }
}

cout << total/size << endl;

system("PAUSE");
return 0;
}

Jedoch, dieses Programm einfach ausführen, ohne zu Lesen aus einer Datei und wieder die richtige Durchschnittliche Punktzahl. Und das ist es, was ich in meiner text-Datei :

0035FDE8

Ich dachte, es soll zu schreiben, wird das gesamte array in Textdatei, und von dort aus rufe ich die Elemente und berechnen Sie den Durchschnitt?

Bearbeitete Teile

Habe ich behoben, durch das schreiben in text-Datei mit einer for-Schleife Zeiger :

for(int count = 0; count < size; count ++){
    out_file << *a++ << " " ;
}

Aber jetzt habe ich ein anderes problem, das ich die Datei nicht Lesen kann und berechnen Sie für den Durchschnitt. Wer weiß, wie Sie zu beheben?

  • Sie sehen die Adresse des Zeigers in der Datei und kommt wegen der Aussage out_file << &a;.
InformationsquelleAutor Yvonne | 2013-05-15
Schreibe einen Kommentar