![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.06.2014
Сообщений: 38
|
![]()
Задача такая: открыть dll файл(не мой) в обычном текстовом виде(каким его могут открыть обычные блокноты), найти нужную последовательность символов и заменить их.
Проблема: как сделать , так чтобы изменения происходили в файле ? Код:
|
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А зачем мапировать? Считывай по N байт, производи поиск в считанном. Если нашел то получай координаты для замены становись в ту позицию в файл и заменяй через WriteFile(). Проекция файла тут... ну как по мне лишняя.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 24.06.2014
Сообщений: 38
|
![]()
Ну так быстрее должно быть, просто файл не маленький
|
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Хм... Насколько не маленький если не секрет?
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 24.06.2014
Сообщений: 38
|
![]()
20 мб. Может и не совсем большой, но считывается долго(
|
![]() |
![]() |
![]() |
#6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
20mb ДЛЛка... Ниче так для библы как по мне... Это что за библиотека такая? Иконки?
Цитата:
Вот если в цикле считывать по мегабайту в массив в нем проводить поиск. И так 20 раз. Не так уж и проблемно.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 24.06.2014
Сообщений: 38
|
![]()
Да от игрушки одной. Хочу , что-то типо патча замутить. А то , что долго мне показалось тогда, когда я хотел на экран просто содержимое вывести через cout для проверки.
|
![]() |
![]() |
![]() |
#8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Ха! Так на экран 20мб выводить это конечно долго будет )))
Патчи же так не делают. Не морочь голову считывай по пакетам и там ищи.
I'm learning to live...
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 24.06.2014
Сообщений: 38
|
![]()
А с помощью какой функции лучше считывать тогда ?
|
![]() |
![]() |
![]() |
#10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Та в твоем случае можно не мутить с WinAPI вообще а использовать стандартные сишные fopen()\fread()\fwrite()\fclose()
Проще будет. ИМХО.
I'm learning to live...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Инструкция для сборки приложений на Qt в один exe без зависимостей от libstdc++-6.dll, libgcc_s_dw2-1.dll, Qt5Core.dll и т.д. | 8Observer8 | Qt и кроссплатформенное программирование С/С++ | 12 | 25.06.2015 03:18 |
dll, классы и динамическая память | Manya | Visual C++ | 3 | 15.05.2013 18:28 |
запись в память загружаемой dll | BBBW | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 20.04.2012 00:24 |
dll в память и запустить =) | xrob | Общие вопросы Delphi | 27 | 17.03.2012 09:31 |