powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Отображение файла в память...
3 сообщений из 3, страница 1 из 1
Отображение файла в память...
    #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
Отображение файла в память...
    #32182256
maratka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может проще писать сразу в файл на диске (::WriteFile(...))?
к чему создавать MapViewOfFile() с нулевым размером?
...
Рейтинг: 0 / 0
Отображение файла в память...
    #32182589
_guest_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Найди в сети книгу Джеффри Рихтера по программированию для Windows. Там есть целая глава про отображаемые в память файлы, так насколько я помню окно отображения имеет фиксированный размер.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Отображение файла в память...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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