bool TryReadFile(int**m, int &sizea, int &sizeb, char* path)
{
FILE* f = fopen(path, "r");
if (f)
{
fscanf(f, "%d\n", &sizea);
if (sizea <= MAX_S)
{
fscanf(f, "%d\n", &sizeb);
if(sizeb <= MAX_S)
{
int counter = 0;
for (int i = 0; i < sizea && !feof(f); ++i)
{
for (int j = 0; j < sizeb && !feof(f); ++j)
{
fscanf(f, "%d", &m[i][j]);
++counter;
}
fscanf(f, "\n");
}
fclose(f);
return counter == sizea*sizeb;
}
}
fclose(f);
}
return false;
}
bool WriteMatrixToFile(int **m, int &sizea, int& sizeb, char* path)
{
FILE *f = fopen(path, "w");
if (f)
{
fprintf(f, "%d\n", sizea);
if (sizea <= MAX_S)
{
fprintf(f, "%d\n", sizeb);
if(sizeb <= MAX_S)
{
int counter = 0;
for (int i = 0; i < sizea && !feof(f); ++i)
{
for (int j = 0; j < sizeb && !feof(f); ++j)
{
fprintf(f, "%d", m[i][j]);
++counter;
}
fprintf(f, "\n");
}
}
}
fclose(f);
}
return false;
}
Comments