Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Отображение файла в память... / 3 сообщений из 3, страница 1 из 1
10.06.2003, 14:53
    #32180609
m-j
m-j
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение файла в память...
Суть в следующем.

Код: plaintext
1.
2.
3.
4.
...
HANDLE cddbfile;
HANDLE cddbmap;
void * cddb;
...


Создаем файл:

Код: plaintext
cddbfile = (HANDLE)FileCreate( "file.dat" );


Создаем объект отображения:

Код: plaintext
1.
cddbmap = CreateFileMapping((HANDLE)cddbfile, NULL, PAGE_READWRITE,  0 ,  0 , NULL);
cddb = MapViewOfFile(cddbmap, FILE_MAP_ALL_ACCESS,  0 ,  0 ,  0 );


При этом создается файл с нулевым размером.
В документации сказано, что призаписи в такой файл:

Код: plaintext
memcpy(cddb, (void *)(( "Данные" ).c_str()), ( "Данные" ).Length());


его размер не может превышать первоначальный, но именно так и надо сделать. Точнее, чтобы размер файла автоматически подгонялся под размер данных. КАК ЭТО СДЕЛАТЬ??? Помогите, пожалуйста, ламеру!
...
Рейтинг: 0 / 0
13.06.2003, 13:46
    #32182256
maratka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение файла в память...
может проще писать сразу в файл на диске (::WriteFile(...))?
к чему создавать MapViewOfFile() с нулевым размером?
...
Рейтинг: 0 / 0
14.06.2003, 21:25
    #32182589
_guest_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение файла в память...
Найди в сети книгу Джеффри Рихтера по программированию для Windows. Там есть целая глава про отображаемые в память файлы, так насколько я помню окно отображения имеет фиксированный размер.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Отображение файла в память... / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]