Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

lseek

lseek


Функция            Перемещает указатель чтения/записи файла.

Синтаксис          #include <io.h>
                   long lseek(int handle, long offset,int fromwhere);

Файл, содержащий   io.h
прототип

Описание           Функция lseek   устанавливает   указатель   файла,
                   связанный с параметром handle,  в  новую  позицию,
                   которая  находится  на  offset байтов относительно
                   местоположения  заданного  параметром   fromwhere.
                   Параметр  fromwhere  должен  иметь  одно  из  трех
                   значений 0,  1 или 2,  которые представлены  тремя
                   символическими  константами (определенными в файле
                   stdio.h) следующим образом:

                   --------------------------------------------------
                   Параметр fromwhere       Месторасположение
                                            в файле
                   --------------------------------------------------
                   SEEK_SET      (0)        начало файла
                   SEEK_CUR      (1)        текущая позиция указателя
                                            файла
                   SEEK_END      (2)        конец файла
                   --------------------------------------------------

Возвращаемое       Функция lseek возвращает значение смещения новой
значение           позиции указателя, измеряемой в байтах от начала
                   файла. В  случае  ошибки  функция lseek возвращает
                   значение  -1L  и   глобальная   переменная   errno
                   получает одно из следующих значений:

                   EBADF   - Неверный номер файла.
                   EINVAL  - Неверный аргумент.

                   На устройствах, непригодных для поиска, таких, как
                   терминалы   и   принтеры,   возвращаемое  значение
                   неопределено.

Переносимость      lseek поддерживается на всех системах UNIX.

Смотрите также     filelength, fseek, ftell, getc, open, sopen,
                   ungetc, _write, write.

Пример:

#include<sys\stat.h>
#include<string.h>
#include<stdio.h>
#include<fcntl.h>
#include<io.h>

int main(void)
{
   int handle;
   char msg[] = "Это тест";
   char ch;
   /* создать файл */
   handle = open("TEST.$$$",O_CREAT|O_RDWR,S_IREAD|S_IWRITE);
   /* вывести в файл данные */
   write(handle,msg,strlen(msg));
   /* переместить указатель в начало файла */
   lseek(handle,0L,SEEK_SET);
   /* считывать данные из файла, пока не встретим EOF */
   do
   {
      read(handle,&ch,1);
      printf("%c",ch);
   } while(!eof(handle));
   close(handle);
   return 0;
}

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог