Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функция lock, Как блокировать доступ к части файла 
V
    Опции темы
жека2905
  Дата 23.11.2011, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 19.10.2011

Репутация: нет
Всего: нет



Всем привет! У меня такая проблема нужно написать программу которая блокирует доступ к части файла с помощью функции lock, но не представляю даже что это из себя представляет и как это сделать может кто нибудь какой нибудь пример написать или ссылку с примером и с информацией. И ещё вопрос по теме как загрузить SHARE.EXE в Visual Studio 2010 или где его надо загружать (для поддержки разделения файлов) ???

Это сообщение отредактировал(а) жека2905 - 23.11.2011, 20:12
PM MAIL   Вверх
bsa
Дата 23.11.2011, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



А google на что?
PM   Вверх
жека2905
Дата 23.11.2011, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 19.10.2011

Репутация: нет
Всего: нет



Цитата(bsa @ 23.11.2011,  21:01)
А google на что?

в гугле всё время один пример и не чего не понятно!!!!!!
PM MAIL   Вверх
Lols
Дата 24.11.2011, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 21.10.2011

Репутация: нет
Всего: нет



Если вам дают ссылку на гугл, просто пройдите по ссылке и вам станет все понятно, уверяю вас.
Должно, по крайней мере... smile 
PM MAIL   Вверх
жека2905
Дата 24.11.2011, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 19.10.2011

Репутация: нет
Всего: нет



Цитата(Lols @ 24.11.2011,  03:15)
Если вам дают ссылку на гугл, просто пройдите по ссылке и вам станет все понятно, уверяю вас.
Должно, по крайней мере... smile

НЕА НЕ ЧЕГО НЕ ПОНЯТНО!ТАМ ВСЁ НА АНГЛИЙСКОМ А ЕСЛИ ВЫБРАТЬ ТОЛЬКО РУССКИЙ ТО ТАМ ВООБЩЕ НЕ ПО ТЕМЕ НАХОДИТ! smile 
PM MAIL   Вверх
AndreyIQ
Дата 24.11.2011, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 5.2.2007

Репутация: нет
Всего: 8



Вот на русском
А вот и пример
Код

#include <windows.h>
#include <stdio.h>

void main()
{
  HANDLE hFile;
  HANDLE hAppend;
  DWORD  dwBytesRead, dwBytesWritten, dwPos;
  BYTE   buff[4096];

  // Open the existing file.

  hFile = CreateFile(TEXT("one.txt"), // open One.txt
            GENERIC_READ,             // open for reading
            0,                        // do not share
            NULL,                     // no security
            OPEN_EXISTING,            // existing file only
            FILE_ATTRIBUTE_NORMAL,    // normal file
            NULL);                    // no attr. template

  if (hFile == INVALID_HANDLE_VALUE)
  {
     printf("Could not open One.txt."); 
     return;
  }

  // Open the existing file, or if the file does not exist,
  // create a new file.

  hAppend = CreateFile(TEXT("two.txt"), // open Two.txt
              FILE_APPEND_DATA,         // open for writing
              FILE_SHARE_READ,          // allow multiple readers
              NULL,                     // no security
              OPEN_ALWAYS,              // open or create
              FILE_ATTRIBUTE_NORMAL,    // normal file
              NULL);                    // no attr. template

  if (hAppend == INVALID_HANDLE_VALUE)
  {
     printf("Could not open Two.txt."); 
     return;
  }

  // Append the first file to the end of the second file.
  // Lock the second file to prevent another process from
  // accessing it while writing to it. Unlock the
  // file when writing is complete.

  while (ReadFile(hFile, buff, sizeof(buff), &dwBytesRead, NULL)
      && dwBytesRead > 0)
    {
    dwPos = SetFilePointer(hAppend, 0, NULL, FILE_END);
    LockFile(hAppend, dwPos, 0, dwBytesRead, 0);
    WriteFile(hAppend, buff, dwBytesRead, &dwBytesWritten, NULL);
    UnlockFile(hAppend, dwPos, 0, dwBytesRead, 0);
    }

  // Close both files.

  CloseHandle(hFile);
  CloseHandle(hAppend);
}

PM MAIL   Вверх
bsa
Дата 24.11.2011, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



AndreyIQ, эх... поторопился ты. С таких надо плату брать... А то на шею сядут...
PM   Вверх
AndreyIQ
Дата 24.11.2011, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 5.2.2007

Репутация: нет
Всего: 8



Да ладно. Я же на Си вообще не кодю, а тут понадобились мои глубокие познания в Си. Грех не поделится. smile 
PM MAIL   Вверх
жека2905
  Дата 24.11.2011, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 19.10.2011

Репутация: нет
Всего: нет



Цитата(AndreyIQ @ 24.11.2011,  16:28)
Да ладно. Я же на Си вообще не кодю, а тут понадобились мои глубокие познания в Си. Грех не поделится. smile

Спасибо большое за  помощь!!! smile  буду разбираться!!!!!

Добавлено через 2 минуты и 47 секунд
Цитата(bsa @ 24.11.2011,  16:14)
AndreyIQ, эх... поторопился ты. С таких надо плату брать... А то на шею сядут...

мдааааа.....вот народ.... лишь бы бабла содрать!!!!
PM MAIL   Вверх
bsa
Дата 25.11.2011, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(жека2905 @  24.11.2011,  18:08 Найти цитируемый пост)
мдааааа.....вот народ.... лишь бы бабла содрать!!!! 

 smile 
Нет. Просто ты сам должен разбираться. Я тебе дал ссылку на запрос в google, первый ответ которого содержал все необходимое. Но ты поленился посмотреть... А раз ты лентяй, то значит должен платить. Не забывай, здесь многие люди в рабочее время помогают.
PM   Вверх
жека2905
  Дата 25.11.2011, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 19.10.2011

Репутация: нет
Всего: нет



Цитата(bsa @ 25.11.2011,  07:46)
Цитата(жека2905 @  24.11.2011,  18:08 Найти цитируемый пост)
мдааааа.....вот народ.... лишь бы бабла содрать!!!! 

 smile 
Нет. Просто ты сам должен разбираться. Я тебе дал ссылку на запрос в google, первый ответ которого содержал все необходимое. Но ты поленился посмотреть... А раз ты лентяй, то значит должен платить. Не забывай, здесь многие люди в рабочее время помогают.

Не чего я не поленился!!!!! я посмотрел! но там всё на английском и не понятно!!)
PM MAIL   Вверх
bsa
Дата 25.11.2011, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(жека2905 @  25.11.2011,  19:19 Найти цитируемый пост)
но там всё на английском и не понятно!!

Чьи это проблемы? Кто тебе мешал воспользоваться google.translate, как это сделал AndreyIQ?
PM   Вверх
жека2905
  Дата 26.11.2011, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 19.10.2011

Репутация: нет
Всего: нет



Цитата(bsa @ 25.11.2011,  20:51)
Цитата(жека2905 @  25.11.2011,  19:19 Найти цитируемый пост)
но там всё на английском и не понятно!!

Чьи это проблемы? Кто тебе мешал воспользоваться google.translate, как это сделал AndreyIQ?

честно говоря!!!! как этот переводчик переводит всё равно много не понятно!!!!)
PM MAIL   Вверх
bsa
Дата 28.11.2011, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196




M
bsa
Если ответ на вопрос получен, то пометь тему решенной

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0858 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.