s
sander-007May 19, 2020, 3:08 p.m.
Использование файлов в памяти (memory file mapping)
Добрый день, у Шлее в книге прочитал файлами в памяти можно пользоваться как обычными файлами. Можно-ли реализовать такую вещь: генерируем файл Excel и открываем его без создания файла на диске? Кто-нибудь делал?
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
l
- laei
- April 23, 2024, 6:19 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:10points,
- Rating points-10
Last comments
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоFeb. 5, 2024, 11:50 a.m.
EVADec. 25, 2023, 8:30 p.m.
Boost - static linking in CMake project under Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Lesson 056. Connecting the Boost library in Qt for MinGW and MSVC compilers Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Now discuss on the forum
DA
Unlock Your Aesthetic Potential: Explore MSC in Facial Aesthetics and Cosmetology in India Embark on a transformative journey with an msc in facial aesthetics and cosmetology in india . Delve into the intricate world of beauty and rejuvenation, guided by expert faculty and …
Dr Gangil AcademicsApril 20, 2024, 4:45 p.m.
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
Павел ДорофеевApril 14, 2024, 11:35 a.m.
Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…
Добрый день.
Думается мне, что тут скорее другая проблема будет, сама по себе работа с файлом.
Уже здесь достаточно много вопросов по работе с Excel файлами возникало, но чаще это были проблемы с подключением к файлу, поскольку для работы с ними используется адаптер.
С самим Excel файлом я бы не пробовал этого делать ))
Добрый вечер, поподробнее опишу :)
Сейчас я читаю шаблон отчета Exel из базы в QbyteArray, сохраняю на диск и потом заполняю. Что нибудь с массивом можно делать, без сохранения на диск?
Ну с самим QByteArray можно что угодно сделать перед формированием файла.
Придётся только повозиться с его структурой. Но если там чисто Excel структура документа, то есть у вас уже готовый Excel файл находится в том QByteArray, то будет весьма тяжело что-то сделать с этим массивом. Реверс-инжениринг никогда не был лёгкой задачей.
Но если посмотреть, как файлы маппятся в память в Qt, то теоретически можно проверить, будет ли файл сохраняться на диск полностью до его закрытия.
То есть, если не ошибаюсь, то классический примеря маппинга файла в память выглядит так
Могу предположить, что пока не вызыван метод unmap() , то данные полностью не будут уложены на физический диск.
Попробуйте создавать такой файл с маппингом, работать с ним, а потом просто очищать и удалять.
В данном случае, предполагаю, что у вас будет создаваться файл на физическом диске, но вы сможете поработать с ним в памяти, возможно также, как работали с ним до этого.
Но говорю сразу, это мои предположения. Сам я такого не реализовывал. Так что, отпишитесь о результатах, если будет успешно.
Есть еще такой вариант.
"Вот вам файл Exel.xml, там внутри логи работы прибора, автоматизируте построение графиков в отдельных окошках с прокрутками и другими плюшками"
Окау
Подключаемся к файлу через драйвер БД, смотрим структуру и выкачиваем данные запросами...
Как оказалось файл был псевдо-Exel - обычный текстовый файл с разделением данных табуляцией, но сохранён как ".xml".
Задача сильно упростилась до обычного парсинга, но и через драйвер БД тоже работала, только дольше и сложнее
Добрый вечер, проблемы работы с файлом Exel нет вообще. Весь смысл в том чтобы не создавать на диске физический файл (требования безопасности), дабы потом не чистить. А так вопрос только в этом :)