Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2011, 16:26   #1
Денис16
 
Регистрация: 03.08.2011
Сообщений: 4
По умолчанию ошибки и недочеты в коде

Уважаемые программисты. Прошу помочь мне найти ошибки и недочеты в коде.
Код:
static HANDLE hFile = CreateFile("c:\\sample.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);

void main()
{
  OVERLAPPED ovr;
  BYTE Buffer[100];

  if (hFile)
  {
     ovr.Offset = 0;
     WriteFile(hFile, Buffer, 100, NULL, &ovr);
     ovr.Offset = 1024;
     WriteFile(hFile, Buffer, 100, NULL, &ovr);
     WaitForSingleObject(hFile, INFINITE);
     printf(“Данные переписаны!”);
  }
Заранее благодарен.
Денис16 вне форума Ответить с цитированием
Старый 19.11.2011, 17:17   #2
haruhi
Форумчанин
 
Аватар для haruhi
 
Регистрация: 05.10.2011
Сообщений: 368
По умолчанию

ждать надо не на хендле файла, а на хендле специального события. так правильнее
и открывать надо с доступом на запись
Код:
HANDLE hFile = CreateFile("c:\\sample.txt", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
  ovr.hEvent = CreateEvent(......); //создать событие

  if (hFile)
  {
     ovr.Offset = 0;
     WriteFile(hFile, Buffer, 100, NULL, &ovr);
     WaitForSingleObject(ovr.hEvent, INFINITE); //нужно ожидание после первой операции записи
     ovr.Offset = 1024;
     WriteFile(hFile, Buffer, 100, NULL, &ovr);
     WaitForSingleObject(ovr.hEvent, INFINITE);
     printf(“Данные переписаны!”);
  }
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии

Последний раз редактировалось haruhi; 19.11.2011 в 17:19.
haruhi вне форума Ответить с цитированием
Старый 19.11.2011, 17:24   #3
Денис16
 
Регистрация: 03.08.2011
Сообщений: 4
По умолчанию

Спасибо большое
Денис16 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибки в Элементарном коде! Серёга0629 Microsoft Office Excel 22 23.08.2011 13:34
Мне нужно чтобы вы помогли найти ошибки или недочеты dark999 Помощь студентам 8 20.04.2011 19:31
Исправление ошибки 215 в коде Stefansson Помощь студентам 3 20.01.2011 23:13
мелкие Ошибки в коде T@tali Паскаль, Turbo Pascal, PascalABC.NET 10 10.01.2011 21:55
Ошибки в коде для Builder C++ ололошенько C++ Builder 21 22.08.2010 15:26