Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502

Скопировать данные из проекции файла

20.10.2019, 20:42. Показов 764. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет! Создаю стандартно проекцию файла.
C++
1
2
3
file = CreateFile(file_in, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
MappingR = CreateFileMapping(file, 0, PAGE_READONLY, 0, 0, 0);
WinINIR = MapViewOfFile(MappingR, FILE_MAP_READ, 0, 0, 0);
далее я читаю данные из файла в буфер
C++
1
2
3
SetFilePointer(file, m_dword , NULL, FILE_BEGIN);
BYTE* pArray = new BYTE[iSize];
ReadFile(file, pArray, iSize, &dwBytesRead, NULL);
Но у меня уже есть проекция.Как мне просто скопировать из нее данные в буфер?
Вроде и данные в какое место в проекции сместиться есть m_dword не догоняю как мне скопировать память.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.10.2019, 20:42
Ответы с готовыми решениями:

Скопировать данные из файла Excel в StringGrid
Здравствуйте) Я понимаю, что тема уже заезжанная. Я раньше использовала технологию OLE для загрузки данных. Все работало. Но сейчас...

Скопировать данные из одного файла в другой
&НаКлиенте Процедура ip(Команда) ПолноеИмяФайла = "input.txt"; ВыбранныйФайл = Новый Файл(ПолноеИмяФайла); ПолноеИмяФайла2 =...

Скопировать данные с одного файла и записать в другой
написать программу которая копирует данные из одного файла в другой лишь те символы чей код больше или рааен 77. помогите написать если...

5
фрилансер
 Аватар для Алексей1153
6454 / 5655 / 1129
Регистрация: 11.10.2019
Сообщений: 15,058
20.10.2019, 21:12
zombivadim, MapViewOfFile возвращает указатель на начало массива байтов, оттуда и копируй. SetFilePointer и ReadFile не нужны для этого
0
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
20.10.2019, 21:19  [ТС]
LPVOID dw = *(LPVOID *)((DWORD)WinINIR + m_dword);
ну вот указатель сделал на область памяти
CopyMemory(pArray, dw, m_size);
Исключение, оно и понятно. Помогите пожалуйста правильно сделать..
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
20.10.2019, 22:38
zombivadim,
x64? Если да, то преобразование (DWORD)WinINIR даст некорректный результат. Там должен быть какой-нибудь ULONG_PTR вместо DWORD.

Добавлено через 2 минуты
Цитата Сообщение от zombivadim Посмотреть сообщение
*(LPVOID *)
А это вообще какой-то бред. Должно быть просто (LPVOID).
0
фрилансер
 Аватар для Алексей1153
6454 / 5655 / 1129
Регистрация: 11.10.2019
Сообщений: 15,058
21.10.2019, 08:10
zombivadim, всё проще

C++
1
2
3
4
5
//размер файла (и массива тоже)
DWORD length=::GetFileSize(.......);
 
//указатель на начало массива
const uint8_t* pBeginOfArray=(const uint8_t*)MapViewOfFile(.......);
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
21.10.2019, 12:28
Цитата Сообщение от zombivadim Посмотреть сообщение
Создаю стандартно проекцию файла
тип файла?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.10.2019, 12:28
Помогаю со студенческими работами здесь

Как из .txt файла скопировать данные в Таблицу в БД в MSSQL?
Здравствуйте, имеется файл .txt, нужно все имеющиеся в нем данные скопировать в таблицу:

По заданным условиям скопировать данные из одного файла в другой
Дан типизированный файл f, содержащий различные даты. Каждая дата - это число, месяц и год. Найти: а) год с наименьшим номером; б) все...

Требуется скопировать данные из одного файла в другой, но в обратном порядке
Требуется скопировать данные из одного файла в другой, но в обратном порядке. Это задание для зачета, преподаватель хочет еще объяснения...

Файл: Скопировать данные из одного файла в другой, но в противоположном направлении.
Помогите пожалуйста! Файл F генерируется с случайных(рандомных) чисел, размерность файла указывает пользователь. Скопировать данные с...

Требуется скопировать данные из одного файла в другой, но в обратном порядке. Вывести на экран все результаты
Задание: Требуется скопировать данные из одного файла в другой, но в обратном порядке. Вывести на экран все результаты. Условие:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru