Название: Вивести файл в консоль Отправлено: Ubuntu_linux от Сентябрь 25, 2012, 14:56 Как можно бинарный файл вывести в консоль? (линукс)
Название: Re: Вивести файл в консоль Отправлено: mutineer от Сентябрь 25, 2012, 14:57 cat имя_файла
Название: Re: Вивести файл в консоль Отправлено: Пантер от Сентябрь 25, 2012, 14:59 dog имя_файла
Название: Re: Вивести файл в консоль Отправлено: Ubuntu_linux от Сентябрь 25, 2012, 15:00 Да, но мне надо средствами Qt!
Название: Re: Вивести файл в консоль Отправлено: mutineer от Сентябрь 25, 2012, 15:02 Да, но мне надо средствами Qt! Да? Сорри, не прочитал мысли... Читаешь файлик в ByteArray, а потом выводишь через qDebug, например Название: Re: Вивести файл в консоль Отправлено: Пантер от Сентябрь 25, 2012, 15:06 Дык ты правильно формируй свои мысли. qDebug или std::cout.
Название: Re: Вивести файл в консоль Отправлено: Ubuntu_linux от Сентябрь 25, 2012, 15:14 Дело в том, что так обламывается на первых символах!
Название: Re: Вивести файл в консоль Отправлено: mutineer от Сентябрь 25, 2012, 15:16 А если в консоли сделать cat этого файла?
Название: Re: Вивести файл в консоль Отправлено: Ubuntu_linux от Сентябрь 25, 2012, 15:17 А если в консоли сделать cat этого файла? cat -нормально.Название: Re: Вивести файл в консоль Отправлено: Пантер от Сентябрь 25, 2012, 15:19 Показывай код.
Название: Re: Вивести файл в консоль Отправлено: GreatSnake от Сентябрь 25, 2012, 15:25 Дело в том, что так обламывается на первых символах! Конечно, если не экранировать управляющие символы, то так и будет.Название: Re: Вивести файл в консоль Отправлено: Ubuntu_linux от Сентябрь 25, 2012, 15:28 Та ничего особенного:
std::cout<<file.readAll().data(); qDebug()<<file.readAll(); Название: Re: Вивести файл в консоль Отправлено: Ubuntu_linux от Сентябрь 25, 2012, 15:30 Дело в том, что так обламывается на первых символах! Конечно, если не экранировать управляющие символы, то так и будет.Название: Re: Вивести файл в консоль Отправлено: Пантер от Сентябрь 25, 2012, 15:41 Может, опишешь лучше свою задачу?
Название: Re: Вивести файл в консоль Отправлено: Ubuntu_linux от Сентябрь 25, 2012, 15:46 Надо написать аналога tail утилитки, только в режиме реального времени!
Для того чтобы постепенно передавать(во время загрузки на диск) файл в ffmpeg. Код
Название: Re: Вивести файл в консоль Отправлено: GreatSnake от Сентябрь 25, 2012, 15:48 И зачем для этого тебе понадобилась консоль ???
Название: Re: Вивести файл в консоль Отправлено: Пантер от Сентябрь 25, 2012, 15:57 tail -f работает в режиме реального времени.
Но тут tail совсем не нужен. Название: Re: Вивести файл в консоль Отправлено: Ubuntu_linux от Сентябрь 25, 2012, 16:04 tail -f работает в режиме реального времени. Но тут tail совсем не нужен. неа man tail ....... --sleep-interval=N Change the number of seconds to wait between iterations (the default is 1). During one iteration, every specified file is checked to see if it has changed size. ....... И как тут обойтись без tail ? Название: Re: Вивести файл в консоль Отправлено: Ubuntu_linux от Сентябрь 25, 2012, 16:12 И зачем для этого тебе понадобилась консоль ??? Чтобы передать поток с файла в ffmpeg по мере того как он загружается.Название: Re: Вивести файл в консоль Отправлено: Alex Custov от Сентябрь 25, 2012, 19:06 И зачем для этого тебе понадобилась консоль ??? Чтобы передать поток с файла в ffmpeg по мере того как он загружается.Создай FIFO, и пиши загружаемые данные в него. Этот FIFO передай ffmpeg через пайп (|) Название: Re: Вивести файл в консоль Отправлено: Ubuntu_linux от Сентябрь 25, 2012, 19:26 И зачем для этого тебе понадобилась консоль ??? Чтобы передать поток с файла в ffmpeg по мере того как он загружается.Создай FIFO, и пиши загружаемые данные в него. Этот FIFO передай ffmpeg через пайп (|) Можно пример? Название: Re: Вивести файл в консоль Отправлено: VPS от Сентябрь 25, 2012, 19:57 Можно попробовать использовать перенаправление буфера файлового потока в нужный поток:
Код: ifstream ifs("file_name", ios::binary); Название: Re: Вивести файл в консоль Отправлено: Patrin Andrey от Сентябрь 25, 2012, 20:09 При такой схеме (прога-файл-ффмпег) вероятнее всего(рано или поздно) возникнет проблема, что ты ещё не успел записать в файл, а ффмпег уже дошёл до конца файла и прекратит попытки прочитать следующую порцию данных.
Как дела обстоят в этом случае с пайпами не знаю, но есть вероятность что попытается подождать. Название: Re: Вивести файл в консоль Отправлено: Ubuntu_linux от Сентябрь 26, 2012, 01:18 При такой схеме (прога-файл-ффмпег) вероятнее всего(рано или поздно) возникнет проблема, что ты ещё не успел записать в файл, а ффмпег уже дошёл до конца файла и прекратит попытки прочитать следующую порцию данных. Получилось, но теперь проблема с "...не успел записать в файл, а ффмпег уже дошёл до конца файла и прекратит попытки прочитать следующую порцию данных"Как дела обстоят в этом случае с пайпами не знаю, но есть вероятность что попытается подождать. Хотя с прогой tail все четко успевало.. А как прикрутить пайпы? void Data::printData(){ if(!isDebug){ ifstream ifs(m_path.toAscii()+m_name.toAscii(),ios_base::binary); //assert(ifs);//? ifs.seekg(lastPos); cout<<ifs.rdbuf(); lastPos=ifs.tellg(); ifs.close(); }//debug else{ printf("Same rand number: %ld \n",rand());} }//printData |