Не записываются данные в файл - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream.h>
int main()
{
clrscr();
unsigned long iran;
unsigned long rand_a,rand_c,rand_m;
unsigned long jran;
int i,j;
int a[6][6];
rand_m=233280;
rand_a=9301;
rand_c=49297;
for (i=0;i<6;i++)
{
printf("\n");
for (j=0;j<6;j++)
{iran=(iran*rand_a+rand_c)%rand_m;
jran=(65157*iran)%rand_m;
a[i][j]=jran;
printf("%7lu,",a[i][j]);
}
}
FILE *Ptr;
Ptr=fopen("C:\\masuv.txt","w");
printf (" \n\n\n odnovumirnui peretvorenui masuv: \n\n" );
for (i=0;i<6; i++)
{
for (j=0;j<6;j++) {
if (a[i][j]==0) a[i][j]=1;
else {
if(a[i][j]==1) a[i][j]=0;
}
printf ("\n a[%d][%d] = %d,",i,j,a[i][j]);
fprintf (Ptr," %c ", a[i][j]);
}
}
getch();
return 0;
}Решение задачи: «Не записываются данные в файл»
textual
Листинг программы
int a[6][6]; //... fprintf (Ptr," %c ", a[i][j]);
Объяснение кода листинга программы
- Объявлен массив
aразмером 6x6. - В цикле происходит заполнение массива
aзначениями. - В строке кода
fprintf (Ptr,%c, a[i][j]);происходит попытка записи данных из массиваaв файл с помощью функцииfprintf. - В данной строке кода
%cявляется форматом вывода, который указывает на то, что необходимо вывести один символ. a[i][j]является источником данных для записи в файл.Ptrявляется указателем на файл, в который производится запись.- Пробел
%cв строке формата указывает на то, что перед выводом значения необходимо выводить пробел.