• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Чтение Char из бинарного файла по смещению

  • Автор темы Astyxys
  • Дата начала
A

Astyxys

Задача:

Используя MFC, вывести на экран таблицу строк.

Что имеем:

Есть два бинарных файла. В первом массив int, во втором массив char, разделенный "\0", при этом кодировка UTF-8. Int-ы показывают смещение, от начала второго файла, первого символа в строке.

Как реализовал я:

1) Читаю первый файл в массив int
2) Читаю второй файл в массив char
3) В цикле заполняю структуру GV_ITEM (для вывода на экран использую CGridCtrl)
4) Перевожу кодировку на "человеческий" (MultibyteToWidechar)
5) Вывожу на экран

Проблема:

При размере файла с массивом char 40 МБ и выше(а таких большенство) вывод на экран сильно тормозит. Около 2-3 минут загрузка происходит.

Вопрос:

Как ускорить вывод на экран?

Мои варианты:

1) Разбить на отдельные процессы
а. пункты 3 и 4
б. пункт 5

2) Сделать свой класс(наследник от CGridCtrl) и читать сразу в GV_ITEM

Заранее спасибо за ответы, извинте если сумбурно...
 
G

grigsoft

CGridCtrl - это с Codeproject который? Там вроде есть режим
VirtualMode когда GV_ITEM создавать не надо, а данные отдаются прямо
во время отрисовки. Должно помочь.
 
G

grigsoft

Учитывая что врядли 40МБ+ у вас сразу на экран влазит, стоит грузить часть, остальное подгружать по необходимости\в отдельном потоке
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!