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