CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
read
READ #include<io.h> требуется только для объявления функции int read(handle, buffer,count) int handle; handle-р, ссылающийся на откры- тый файла char *buffer; память для хранения данных unsigned int count; максимальное количество байтов Описание. Функция read позволяет читать байты count из файла, связан- ного с handle, в буфер buffer. Операции чтения начинаются с теку- щей позиции указателя на файл, который соответствует данному фай- лу. После выполнения операции чтения этот указатель устанавлива- ется на следующий непрочитанный символ. Возвращаемое значение. Функция read возвращает число действительно прочитанных байтов, которое может быть меньше, чем count. Возвращаемое значе- ние 0 указывает на попытку чтения конца файла, а 1 - свидетельст- вует об ошибке; в этих случаях errno устанавливается в значение, которое описано ниже. Величина Смысловое значение EBADF заданный handle неверный, или файл не яв- ляется открытым для чтения, или же файл заблокирован (закрыт). (Версия MS DOS 3.0 и последующие). Если прочитано больше 32К (максимальный размер типа int) из файла, возвращаемое значение будет типа unsigned int (см.пример, приведенный ниже). Однако максимальное число байтов, которое мож- но прочитать из файла, равно 65534; поскольку 65534 (или OXFFFF) является неотличимым от -1, поэтому будет возвращена ошибка. Если файл открыт в текстовом режиме, возвращаемое значение может не соответствовать числу действительно прочитанных байтов. Если тек- стовый режим эффективен, каждая пара "ВК-ПС" заменяется символом ПС. Подсчитывается в возвращаемом значении только отдельный сим- вол ПС. Эта замена не влияет на указатель файла. См.также creat, fread, open, write. Замечание: В MS DOS, когда файл открыт в текстовом режиме, символ трактуется как индикатор конца файла. Если встречается CONTROLL-Z, чтение оканчивается и при следующем чтении возвраща- ется 0 байтов. Индикатор конца файла может воспрепятствовать очистке файла. Пример: #include <io.h> #include <stdio.h> #include <fcntl.h> char buffer [60000] main () { int fh; unsigned int nbytes=60000, bytesread; if ((fn=open("c:/data/conf.dat",O_RDONLY))==-1) { perror("open failed on input file"); exit (1); } if ((bytesread=read(fh,buffer,nbytes))==-1) perror(""); else printf("Read %u bytes from file\n",bytesread); . . . }