Как правильно записывать и считывать двумерные массивы при работе с файлами - C (СИ)
Формулировка задачи:
Как правильно записывать и считывать двумерные массивы при работе с файлами? Поискал в интернете, ничего толкового нет.
FILE *t; t=fopen("text2.dat","wb"); size_t res1; res1=fwrite(&mas[n][m],sizeof(int),n,t); fclose(t); t=fopen("text2.dat","rb"); int buff[n][m]; res1=fread(&buff[n][m],sizeof(int),n,t); printf("Вывод массива:\n"); for (i=0;i<n;i++) { for (j=0;j<m;j++) { printf("buff[%d][%d]=%d\t",i,j,mas[i][j]); } printf("\n"); } fclose(t);
Решение задачи: «Как правильно записывать и считывать двумерные массивы при работе с файлами»
textual
Листинг программы
FILE *t; t=fopen("text2.dat","wb"); size_t res1; res1=fwrite(mas,sizeof(int),n*m,t); fclose(t); t=fopen("text2.dat","rb"); int buff[n][m]; res1=fread(buff,sizeof(int),n*m,t); printf("ГЊГ*Г±Г±ГЁГў ГЁГ§ ГґГ*éëГ*\n"); for (i=0;i<n;i++) { for (j=0;j<m;j++) { printf("buff[%d][%d]=%d\t",i,j,mas[i][j]); } printf("\n"); } fclose(t);
Объяснение кода листинга программы
- Создается файл
text2.dat
для записи и чтения данных. - Открывается файл
text2.dat
в режиме записиwb
. - Записывается двумерный массив
mas
размером n*m в файлtext2.dat
. - Закрывается файл
text2.dat
. - Открывается файл
text2.dat
в режиме чтенияrb
. - Создается двумерный массив
buff
размером n*m для чтения данных из файла. - Считывается двумерный массив
buff
размером n*m из файлаtext2.dat
. - Выводится сообщение
ГЊГ*Г±Г±ГЁГў ГЁГ§ ГґГ*éëГ*\n
(это просто строка для примера, ее можно заменить на любую другую). - Выводится содержимое массива
buff
построчно. - Закрывается файл
text2.dat
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д