0
Запись двумерного массива в файл и чтение двумерного массива из файла с помощью Visual C++
Я новичок в C++. Я составил двумерный массив 680x680. И я пытался записать его в txt файл. К сожалению, я не могу регулярно писать двумерный массив по его размерам. Также я хочу прочитать двухмерный массив из txt файла. Мой код ниже. Не могли бы вы мне помочь?
/*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);
С уважением...
Ответов (1)1
0
Сейчас некогда подробно разбираться с этим, вы можете осмотреться (Google или SO), используя слова «сериализация» и «десериализация».
Позже : я ничего не визуализирую, поэтому я проигнорирую все, что связано с синтаксисом.
- Он компилируется?
- Если да, то работает ли он без сбоев?
- Если да, то смотрели ли вы напрямую на вывод? Это дает то, чего вы ожидаете?
- Использование fscanf для синтаксического анализа ввода сложно. Вы должны быть очень осторожны, чтобы символы пробелов совпадали. Смотри сюда. Самая большая проблема заключается в том, что вы пишете символы новой строки, но не позволяете вводить их.
Мой совет: не торопитесь, проверяйте, что происходит на каждом этапе, и сообщайте (отредактируйте вопрос), когда вы лучше понимаете, что может быть не так ...