2009-02-26 10 views
1

Ich bin neu in C++.Ich gemacht 680x680 zweidimensionalen Array.Und ich habe versucht, es in TXT-Datei zu schreiben.Leider kann ich nicht Schreibe zweidimensionales Array entlang seiner Dimensionen regelmäßig. Auch ich möchte zweidimensionale Array von TXT-Datei lesen. Mein Code ist unten.Könnten Sie mir helfen?Schreiben von zweidimensionalen Array in Datei und Lesen von zweidimensionalen Array aus Datei mit Visual C++

/*Declaration 680 *680 multidimensional array*/ 
array< array<double>^ >^ arr = gcnew array< array<double>^ >(680); 

for (j=0;j<arr->Length;j++){ 
    arr[j]=gcnew array<double>(680);} 

/*Write double array to file*/ 

FILE *OutFile = fopen("C:\\test.txt","w++"); 

for(n=0;n<=(N-1);n++){ 
    fprintf(OutFile,"\n "); 
    for(k=0;k<=(N-1);k++){ 
     fprintf(OutFile,"\t %f ",dizi[n][k]);}} 

fclose(OutFile); 

/* Declaration array reading from file*/ 

array< array<double>^ >^ read = gcnew array< array<double>^ >(680); 

for (j=0;j<read->Length;j++){ 
    read[j]=gcnew array<double>(680);} 

/* reading array from file*/ 

FILE *InFile = fopen("C:\\test.txt","r"); 
double db; 
for(n=0;n<=(N-1);n++){ 
    for(k=0;k<=(N-1);k++){ 
    fscanf(InFile,"\t %f ",&db); 
    read[n][k]=db; }} 
fclose(InFile); 

Mit freundlichen Grüßen ...

Antwort

0

Keine Zeit jetzt durch diese im Detail zu arbeiten, könnten Sie um einen Blick (Google oder SO) die Worte „Serialisierung“ und „Deserialisierung“ verwenden.


Später: Ich weiß nicht visuell-alles tun, also werde ich alles Syntax Bezug zu ignorieren.

  1. Kompiliert es?
  2. Wenn ja, läuft es ohne Absturz?
  3. Wenn ja, haben Sie den Ausgang direkt angeschaut? Gibt es, was Sie erwarten?
  4. Die Verwendung von fscanf für Eingabe-Parsing ist schwierig. Sie müssen sehr vorsichtig sein, dass Sie die Whitespace-Zeichen zusammenbringen. Look here. Ihr größtes Problem scheint zu sein, dass Sie Zeilenumbrüche schreiben, aber nicht zulassen, dass die Eingabe sie enthält.

Mein Rat: langsam gehen, zu überprüfen, was bei jedem Schritt geschieht, und berichtet (bearbeiten Sie die Frage), wenn Sie eine bessere Idee, was haben könnte falsch sein ...

Verwandte Themen