Как правильно записывать и считывать двумерные массивы при работе с файлами - 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);

Объяснение кода листинга программы

  1. Создается файл text2.dat для записи и чтения данных.
  2. Открывается файл text2.dat в режиме записи wb.
  3. Записывается двумерный массив mas размером n*m в файл text2.dat.
  4. Закрывается файл text2.dat.
  5. Открывается файл text2.dat в режиме чтения rb.
  6. Создается двумерный массив buff размером n*m для чтения данных из файла.
  7. Считывается двумерный массив buff размером n*m из файла text2.dat.
  8. Выводится сообщение ГЊГ*Г±Г±ГЁГў ГЁГ§ ГґГ*éëГ*\n (это просто строка для примера, ее можно заменить на любую другую).
  9. Выводится содержимое массива buff построчно.
  10. Закрывается файл text2.dat.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы