|
Описание функций языка Си
|
" F "
fabs,fabsf,fabsl ◄
fclose ◄
fcloseall ◄
fdim,fdimf,fdiml ◄
fdopen ◄
fegetround ◄
feof ◄
ferror ◄
fesetround ◄
fgetc ◄
fgets ◄
fileno ◄
finite,finitef,finitel ◄
fflush ◄
floor,floorf,floorl ◄
fma,fmaf,fmal ◄
fmax,fmaxf,fmaxl ◄
fmin,fminf,fminl ◄
fmod,fmodf,fmodl ◄
fopen ◄
fpclassify ◄
fputc ◄
fputs ◄
freopen ◄
frexp,frexpf,frexpl ◄
fseek ◄
fseeko ◄
ftell ◄
ftello ◄
|
|
|
All |
_ |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
ferror – определение наличия ошибок потока данных.
Синтаксис:
#include < stdio.h >
int ferror (FILE *stream);
Аргументы:
stream - указатель на управляющую таблицу открытого потока данных.
Возвращаемое значение:
0 – если при работе с потоком данных ошибок не было.
Отличное от нуля значение если установлен индикатор ошибки для потока данных.
Описание:
Функция опрашивает состояния индикатора ошибок потока данных, на который указывает аргумент stream.
Пример:
В примере создается файл для чтения с именем test.txt, располагающейся в папке myfile (папка создана до запуска программы и располагается в директории, из которой запускается программа). Для вызова ошибки в файл производится запись. Далее с помощью функции ferror фиксируется наличие ошибки и с помощью функции perror в консоль выводится тип возникшей ошибки.
#include < stdio.h > //Для fopen, fclose, printf, fprintf; ferror, perror
int main (void)
{
// Переменная, в которую будет сохранен указатель
// на управляющую таблицу открываемого потока данных
FILE *mf;
// Переменная в которую будет занесена информация о наличии ошибок при
// работе с потоком данных
int err;
// Открытие файла
printf (“Открытие файла: ”);
mf=fopen (“myfile/test.txt”,”r”);
// Проверка открытия файла
if (mf == NULL) printf (“ошибка\n”);
else printf (“выполнено\n”);
//Запись данных в файл
fprintf (mf,“ Тест записи в файл”);
// Определение наличия ошибок
err = ferror (mf);
if (err == 0)
printf (“При работе с потоком данных ошибок не возникло\n”);
else
{
// Вывод информации о возникшей ошибке
perror (“Ошибка потока данных”);
}
// Закрытие файла
printf (“Закрытие файла: ”);
if ( fclose (mf) = EOF) printf (“ошибка\n”);
else printf (“выполнено\n”);
return 0;
}
| |
Результат:
Открытие файла: выполнено
Ошибка потока данных: Bad file descriptor
Закрытие файла: выполнено
|
Смотри так же:
feof
ferror
clearerr
perror
strerror
|
|
|