![]() |
|
![]() ![]() ![]() |
|
newbie2009 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 8.2.2009 Репутация: нет Всего: нет |
Значит хочу например считать ноутпад.ехе, закинуть его в массив байтов , а затем этот массив сохранить в файл с названием 2.ехе. Делаю это вот так:
Надо мне для того, что бы потом это все дело в виде пакета передавать куда-то.... Собственно, после копирования перед индитификатором PE файла, вырисовуется не понятно откуда 4 байта: http://s1.ipicture.ru/uploads/20120107/qUIs0Rk2.jpg Откуда беруться эти лишнии байты? |
|||
|
||||
cutwater |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
Было бы понятно, если бы Вы ознакомились с документацией. Но на современном этапе развития общества документацию должны читать участники форума и докладывать об успехах вопрошающим. Более подробно тут: http://developer.qt.nokia.com/doc/qt-4.8/d...reamformat.html А проблема то банальна. Вы используете QDataStream, соответственно используя перегруженный оператор << в файл пишутся не только данные, а еще и информация о их размере (эти самые 4 байта), чтобы потом используя оператор >> их можно было восстановить. Соответственно, если Вам необходимо записать просто массив байт, QDataStream вообще не нужен. Воспользуйтесь методом write у file. http://developer.qt.nokia.com/doc/qt-4.8/q...ce.html#write-3 P.S. Данный ресурс http://tsya.ru/ будет так же полезен Вам для ознакомления. Это сообщение отредактировал(а) cutwater - 7.1.2012, 00:55 |
|||
|
||||
newbie2009 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 8.2.2009 Репутация: нет Всего: нет |
Спасибо большое! Я смотрел доки, но бегло, в след. раз буду вчитываться....
Если не сложно, то подскажите мне ответ на след. вопрос. Я хочу далее QByteArray переписать в xml файлик, для этого получается мне надо по байтово перегнать мой QByteArray в QString:
Я пробывал вначале на прямую закидывать в xml файлик, так оно закидовало там 4 байта и все, пришлось делать по байтовую копию... Можно как-то скопировать без побайтовой копии или только так? |
|||
|
||||
Sality123 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 10.3.2011 Репутация: нет Всего: нет |
|
|||
|
||||
newbie2009 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 8.2.2009 Репутация: нет Всего: нет |
так оно не работает... только 3 первых байта закидует и все
|
|||
|
||||
bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
|
||||
|
|||||
newbie2009 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 8.2.2009 Репутация: нет Всего: нет |
Спасибо. А не подскажете почему оно не хотело работать без перекодировки в бейс64?
|
|||
|
||||
cutwater |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
Потому что вы вставляете содержимое "бинарног файла", содержащего символы, выходящие за пределы допустимых в XML документе. Соответственно их необходимо представить в виде допустимом для хранения в XML документе. Наиболее распространенным является вариант преобразования в base64. Это сообщение отредактировал(а) cutwater - 10.1.2012, 00:14 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |