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;
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie versuchen, so etwas wie dieses
Sie schreiben die Adresse des Zeigers auf das array in die Datei, nicht das array selbst.
Daher erhalten Sie
0035FDE8
in der Datei, die ein Adresse.Schreiben Sie jeden Wert in die Datei mit
out_file<<num_array[count]
imfor
Schleife.Sie werden auch gelesen haben, mit einer ähnlichen
for
Schleife.out_file << a[0] << " " << a[1];