Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Lock

CuBook05

Функция

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

#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 не поддерживают этих вызовов.
 
Пример

#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;
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий