C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Дебетовая карта Home Credit [CPS] RU

 lock / l / Библиотечн. функции Borland C++

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


Синтаксис          #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;
}




Дебетовая карта Home Credit [CPS] RU