Проверка конца файла

feof(указатель файла)      признак

Если признак = =0, то конец файла не достигнут.

Если признак ≠ 0, то достигнут конец файла(eof):  

while(! feof (fin))

{

...

}
Пример 8.2. Занести в файл числа, сформированные с помощью rand(). Перенести положительные числа в другой файл.

Посчитать сумму чисел во втором файле.

Вывести на печать данные из второго файла.

int main()

 {

FILE *pf_1, *pf_2;

int i,s=0, a, kol=8;

 

pf_1 = fopen("ff1.dat", "w");

 

for(i=0; i<kol; i++)

{

a=-50+random(100);

printf("%5d",a);

fprintf(pf_1,"\n%d",a);

}

fclose(pf_1);

///////////////////////////////////

pf_1 = fopen("ff1.dat", "r");

pf_2 = fopen("ff2.dat", "w");

 

 while (!feof(pf_1))

 {

  fscanf(pf_1,"%d",&a);

 printf("%5d",a);

 

 if(a>0) fprintf(pf_2,"\n%d",a);

}

fclose(pf_1);

fclose(pf_2);

/////////////////////////////////////

pf_2 = fopen("ff2.dat", "r");

printf("\n ");

while (!feof(pf_2))

 {

 fscanf(pf_2,"%d",&a);

 printf(" %4d ", a);

 s=s+a;

 }

printf("\n summa= %5d",s);

fclose(pf_2);

return 0;

}

8.7.Проверка наличия ошибки.

Используется функция   ferror(указатель файла)     признак

Если признак = =0 - нет ошибки

Если признак!= 0 - есть ошибка.

Пример:

int error;

if((error = ferror(fout))!=0)

printf(“Ошибка при работе с файлом типа %d ”, error);

    

8.8 Установка указателя файла на заданное смещение

fseek(указатель на файл, offset, origin);

 

origin SEEK_SET  - Поиск с начала файл

               SEEK_CUR  - Поиск с текущей позиции

               SEEK_END  - Поиск с конца файла

 

8.9. Определение положения указателя файла

ftell(указатель на файл);

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: