|
Описание функций языка Си
|
" 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
fgetc – чтение одного байта из указанного потока данных.
Синтаксис:
#include < stdio.h >
int fgetc (FILE *stream);
Аргументы:
stream – указатель на поток данных.
Возвращаемое значение:
В случае успешного чтения байта возвращается код считанного байта (символа).
Если достигнут конец файла, а данные не были считаны, то возвращается EOF и устанавливается признак конца файла.
Если при чтении байта произошла ошибка, то возвращается EOF, а переменной errno присваивается код ошибки.
Описание:
Функция fgetc считывает один байт из указанного аргументом stream потока данных.
Если достигнут конец файла или при чтении файла произошла ошибка возвращается код EOF (обычно -1). Для того, чтобы отличить конец файла от ошибки используются функции feof и ferror.
Пример:
В примере из заранее созданного файла test.txt, располагающегося в одной папке с программой, считываются данные с помощью функции fgetc пока не будет достигнут конец файла. В файле заранее сохранена строка: «тест чтения». Считанные данные и отчет о работе выводятся на консоль.
#include < stdio.h > //Для printf, fgetc, fopen, fclose, feof
int main (void)
{
// Переменная, в которую будет помещен указатель на созданный
// поток данных
FILE *mf;
// Переменная, в которую поочередно будут помещаться считываемые байты
int sym;
// Открытие фала с режимом доступа «только чтение» и привязка к нему
// потока данных
printf (“Открытие файла: ”);
mf = fopen (“test.txt”,”r”);
// Проверка открытия файла
if (mf == NULL) {printf (“ошибка\n”); return -1;}
else printf (“выполнено\n”);
printf (“Коды считанных символов:\n”);
//Чтение (побайтно) данных из файла в бесконечном цикле
while (1)
{
// Чтение одного байта из файла
sym = fgetc (mf);
//Проверка на конец файла или ошибку чтения
if (sym == EOF)
{
// Проверяем что именно произошло: кончился файл
// или это ошибка чтения
if ( feof (mf) != 0)
{
//Если файл закончился, выводим сообщение о завершении чтения
//и выходим из бесконечного цикла
printf (“\nЧтение файла закончено\n”);
break;
}
else
{
//Если при чтении произошла ошибка, выводим сообщение об
// ошибке и выходим из бесконечного цикла
printf (“\nОшибка чтения из файла\n”);
break;
}
}
//Если файл не закончился, и не было ошибки чтения
//выводим код считанного символа на экран
printf (“%d ”,sym);
}
// Закрываем файл
printf (“Закрытие файла: ”);
if ( fclose (mf) == EOF) printf (“ошибка\n”);
else printf (“выполнено\n”);
return 0;
}
| |
Результат:
Открытие файла: выполнено
Коды считанных символов:
212 197 211 212 32 222 212 197 206 201 209
Чтение файла закончено
Закрытие файла: выполнено
|
Смотри так же:
fgetc
fgets
fputc
fputs
getc
getchar
gets
getw
printf
putc
puts
putchar
putw
ungetc
|
|
|