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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: stdout и QByteArray  (Прочитано 5177 раз)
merke
Гость
« : Март 07, 2012, 19:20 »

Всем привет!

Как в stdout вывести QByteArray?

Есть php скрипт, который запускает мою микропрограмму, она должна отдать массив байт фотографии через stdout, а скрипт должен её отобразить.

Не получается и всё...

напрямую делать cout << QByteArray().append("WTF"); не получается

попробовал через QTextStream stream(stdout); - тоже не получается
Записан
alexandros
Гость
« Ответ #1 : Март 07, 2012, 19:49 »

Код
C++ (Qt)
QByteArray ba;
   ba = "Lol";
   std::cout<<ba.data();
 
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #2 : Март 07, 2012, 19:50 »

А QDataStream не пробовал?
Записан
merke
Гость
« Ответ #3 : Март 07, 2012, 19:51 »

в него невозможно передать указатель на stdout
Записан
merke
Гость
« Ответ #4 : Март 07, 2012, 20:01 »

Код:
    QFile outFile;
    outFile.open(stdout, QFile::WriteOnly);

    QDataStream st(&outFile);

    st << arr;

Вот так вот тоже добавляются лишние байты и картинка косячно выводится
Записан
merke
Гость
« Ответ #5 : Март 07, 2012, 20:25 »

Вуаля...)))

Код:
QFile outFile;
outFile.open(stdout, QFile::WriteOnly);
outFile.write(arr.toBase64());

Заработало =)
Записан
andrew.k
Гость
« Ответ #6 : Март 09, 2012, 00:13 »

Код:
    QFile outFile;
    outFile.open(stdout, QFile::WriteOnly);

    QDataStream st(&outFile);

    st << arr;

Вот так вот тоже добавляются лишние байты и картинка косячно выводится
Потому что DataStream сериализует объекты, сохраняя их в своем формате.
А сериализованное представление предваряется типом данных ("лишние байты").
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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