Russian Qt Forum
Ноябрь 25, 2024, 11:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Прочитать бинарный файл и записать в stdin процесса  (Прочитано 7176 раз)
Ubuntu_linux
Гость
« : Июнь 02, 2013, 11:01 »

Каким образом прочесть бинарный файл и записать результат в stdin запущенного процесса?
Записан
Bepec
Гость
« Ответ #1 : Июнь 02, 2013, 11:17 »

QFile -> QByteArray -> stdin.
Записан
Ubuntu_linux
Гость
« Ответ #2 : Июнь 02, 2013, 16:57 »

Оно то да, но с бинарным файлом что-то не коректно читает.
Есть еще один вопрос, есть файл который загружаеться с сети, как его прочесть до конца, если скорость загрузки маленькая?
Записан
thechicho
Гость
« Ответ #3 : Июнь 02, 2013, 18:24 »

void QNetworkReply::finished () [signal]
не работает?
Записан
Ubuntu_linux
Гость
« Ответ #4 : Июнь 02, 2013, 21:01 »

Нет, так как загрузка идет через тузлу wget.
Записан
thechicho
Гость
« Ответ #5 : Июнь 02, 2013, 21:32 »

подождать пока загрузится, потом считать?)
Записан
Ubuntu_linux
Гость
« Ответ #6 : Июнь 02, 2013, 22:32 »

Так нельзя, надо одновременно качать и читать файл. Как можно отловить изминения файла?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #7 : Июнь 02, 2013, 22:56 »

можно по таймеру считывать размер файла. также можно попробовать через QFileSystemWatcher.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Ubuntu_linux
Гость
« Ответ #8 : Июнь 03, 2013, 02:39 »

В принципе я знаю размер файла, который должен бить!
На винде у меня систем вочер не реагирует на изменения размера файла...
Записан
Bepec
Гость
« Ответ #9 : Июнь 03, 2013, 06:52 »

Систем ватчер реагирует на создание/удаление. Причем я тоже удивлён таким его поведением был когда-то.

Вам подойдёт решение на таймере. У меня подобным образом была сделана грабилка видео с сайтов Веселый
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #10 : Июнь 03, 2013, 11:15 »

В принципе я знаю размер файла, который должен бить!
хорошо, что ты знаешь. но если размер файла изменился, значит появились новые данные.
На винде у меня систем вочер не реагирует на изменения размера файла...
Систем ватчер реагирует на создание/удаление. Причем я тоже удивлён таким его поведением был когда-то.
в 4.8.4 у меня изменения файлов отслеживаются
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Ubuntu_linux
Гость
« Ответ #11 : Июнь 03, 2013, 15:07 »

Даже если wget''от заливать?
Записан
Bepec
Гость
« Ответ #12 : Июнь 03, 2013, 15:32 »

Kambala это бага 4.7.* Улыбающийся
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #13 : Июнь 03, 2013, 18:16 »

Даже если wget''от заливать?
не пробовал
Kambala это бага 4.7.* Улыбающийся
если у ТСа некоммерческая версия библиотеки, то думаю перейти на 4.8.х не составит особого труда
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Ubuntu_linux
Гость
« Ответ #14 : Июнь 03, 2013, 18:16 »

Вот решил делать следующим образом, через QProcess  запускаю нужную мне утилиту, а файл читаю  main.cpp и пишу в процесс write(char* data).  Но почему то даные к процесу не доходять, что за эрунда можеть бить?
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.061 секунд. Запросов: 23.