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

Ваш аккаунт

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

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

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

lock

lock


Функция            Блокирует доступ к части файла.

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

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

Описание           lock позволяет    вам    использовать     механизм
                   разделения  доступа  к файлам введенный в DOS 3.x.
                   Перед  использованием  этой   функции   необходимо
                   загрузить SHARE.EXE.

                   С помощью данной функции можно заблокировать любые
                   неперекрывающиеся    области   файла.   Программа,
                   пытающаяся    считывать    или    записывать     в
                   блокированной  области файла,  делает три попытки.
                   Если  все  три  попытки  окончились  неудачей,  то
                   операция заканчивается по ошибке.

Возвращаемое       Функция возвращает 0 при успешном завершении, и
значение           -1 при ошибке.

Переносимость      Функция уникальна для систем DOS версий 3.x. Более
                   ранние версии DOS не поддерживают этих вызовов.

Смотрите также     open, sopen, unlock.

Пример:

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

int main(void)
{
    int handle,status;
    long length;
    /* для поддержки разделения файлов необходимо пред-
       варительно загрузить SHARE.EXE. */
    handle = sopen("c:\\autoexec.bat",
         O_RDONLY, SH_DENYNO, S_IREAD);
    if(!handle)
    {
        printf("Ошибка при операции sopen");
        exit(1);
    }
    length = filelength(handle);
    status = lock(handle,0L,length/2);
    if(status == 0)
        printf("Успешная операция блокировки");
    else
        printf("Ошибка при операции блокировки");
    status = unlock(handle,0L,length/2);
    if(status == 0)
        printf("Успешная операция разблокировки");
    else
        printf("Ошибка при операции разблокировки");
    close(handle);
    return 0;
}

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

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