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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2008, 13:40   #21
sd13
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 21
По умолчанию

вместо
Код:
CInfo obj ("","","",-3,-3,-3,-3,"","");
я вставил просто конструктор по умолчанию
Код:
CInfo obj
sd13 вне форума Ответить с цитированием
Старый 22.05.2008, 13:49   #22
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от sd13 Посмотреть сообщение
и еще вопрос. как динамически узнать границы проекции???
Вот именно - ????? Вы же их сами указываете в CreateFileMapping...
Код:
HANDLE WINAPI CreateFileMapping(
  __in          HANDLE hFile,
  __in          LPSECURITY_ATTRIBUTES lpAttributes,
  __in          DWORD flProtect,
  __in          DWORD dwMaximumSizeHigh,   // <----------------------
  __in          DWORD dwMaximumSizeLow,   // <----------------------
  __in          LPCTSTR lpName
);
и в MapViewOfFile....
Код:
LPVOID WINAPI MapViewOfFile(
  __in          HANDLE hFileMappingObject,
  __in          DWORD dwDesiredAccess,
  __in          DWORD dwFileOffsetHigh,   // <----------------------
  __in          DWORD dwFileOffsetLow,   // <----------------------
  __in          SIZE_T dwNumberOfBytesToMap   // <----------------------
);

Последний раз редактировалось B_N; 22.05.2008 в 13:55.
B_N вне форума Ответить с цитированием
Старый 25.05.2008, 02:10   #23
sd13
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 21
По умолчанию

но на их местах можно указать NULL и тогда будет проецироваться весь файл. это удобно, потому что если в проццессе работы его размеры можно менять. кстати, а как, как можно через проекцию записать новые данные, дапустим в конец файла???
sd13 вне форума Ответить с цитированием
Старый 25.05.2008, 02:29   #24
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

А как Вы собираетесь менять его размеры? Фалй можно "вытянуть" один раз, при вызове CreateFileMapping. В дальнейшем, если файл вырастет в виду "внешних" обстоятельств, его нужно будет "перемэпать". Выйти за границы проекции не получится - это всего лишь набор страниц виртуальной памяти. Ну а в качестве эксперимента посмотрите VirtualQuery.
B_N вне форума Ответить с цитированием
Старый 25.05.2008, 03:01   #25
sd13
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 21
По умолчанию

ок . тогда как произвести запись??? тоже надо перемэпить???
sd13 вне форума Ответить с цитированием
Старый 25.05.2008, 11:14   #26
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Если Вы открыли секцию с правом записи - пишите на здоровье. Не понял в чём именно вопрос...
B_N вне форума Ответить с цитированием
Старый 25.05.2008, 12:05   #27
sd13
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 21
По умолчанию

суть была такая - надо было произвести работу с файлом-как бы бфза данных. туда необходимо было записывать и считывать , сделать сортировку, организовать вставку - уаление.
я сначало записал например 10 экземпляров класса в файл, сделал проекцию... сортировка работала ок, модификация тоже. а вот для вставки и удаления необходимо было, как я понял, менять размеры файла. вот в изменениях размера и возникла эта проблема.
sd13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в файл и чтение из него. Swool Общие вопросы C/C++ 8 26.08.2008 16:39
Запись и чтение файла... Altera Общие вопросы Delphi 5 06.05.2008 20:22
Запись и чтение сообщений Altera Работа с сетью в Delphi 6 13.04.2008 03:31