|
0 / 0 / 0
Регистрация: 11.03.2010
Сообщений: 5
|
|
Перехват вывода приложений, не использующих stdout11.03.2010, 00:52. Показов 7603. Ответов 14
Метки нет (Все метки)
Господа, возникла такая проблемка: требуется отловить вывод программ, которые выводят результаты не в stdout а сразу на экран, типа как gcc или в сишной проге через printf. Внимание вопрос: кто-нибудь знает как? Буду очень признателен за любые соображения
0
|
|
| 11.03.2010, 00:52 | |
|
Ответы с готовыми решениями:
14
Перехват stdout |
|
|
|||
| 11.03.2010, 02:20 | |||
|
в линуксе, два стандартных вывода - stdout, stderr по этому, любой консольный вывод, производит запись в один из них.
0
|
|||
|
0 / 0 / 0
Регистрация: 11.03.2010
Сообщений: 5
|
|
| 11.03.2010, 02:49 [ТС] | |
|
Стандартные вводы-выводы есть везде и аллилуя им. Только не все в них выводится, насколько я знаю, можно вывести на экран через прерывание и т.п. (давно не возился с ассемблером, не помню). И gcc как раз и делает вывод нифига не в stdout, не виришь, сделай gcc > out.txt и получишь шиш в этом файле. Собственно мне как раз и надо перехватить весь вывод gcc и записать все это в файл (это задача минимум)
0
|
|
|
0 / 0 / 0
Регистрация: 11.03.2010
Сообщений: 5
|
||||||
| 11.03.2010, 02:53 [ТС] | ||||||
|
Сразу уточню. Пытался поймать вывод через popen, примерно так
0
|
||||||
|
0 / 0 / 0
Регистрация: 11.03.2010
Сообщений: 5
|
|
| 11.03.2010, 03:05 [ТС] | |
|
да, ты прав, все ворнинги и прочий хлам летит в поток ошибок. Вот если еще подскажешь, как с сях сделать пайп для этого потока, буду вечно признателен
Добавлено через 2 минуты лоханулся, каюсь. забыть про поток ошибок - ошибка новичка. пора в самому в этот поток
0
|
|
|
|
||
| 11.03.2010, 03:21 | ||
|
читай -
еще тут почитай: http://bytes.com/topic/c/answe... ose-stdout еще, наверное, можно при помощи dup2(fileno(stderr)). еще, наверное, других способов куча. так что дерзай.
0
|
||
|
|
|
| 11.03.2010, 14:06 | |
|
На мой взгляд более аккуратным решением было бы следующее:
сделать два трубопровода (pipe) fork'нуться в дочернем процессе через dup2 перенаправить stdout и stderr в трубопроводы в дочернем процессе запустить exec на твою программу в родительском процессе читать из трубопроводов Всякие высокоуровневые интерфейсы типа system, popen и прочего хлама плохо годятся для таких задач. Они сделаны для каких-то простых случаев
0
|
|
|
|
||
| 11.03.2010, 14:10 | ||
|
Вот тут ещё почитай, но там задача немногодругая (там делается один поток ввода и один поток вывода, а утебя два потока вывода)
Трубопровод на линукс Добавлено через 29 секунд
0
|
||
|
0 / 0 / 0
Регистрация: 11.03.2010
Сообщений: 5
|
|
| 12.03.2010, 03:40 [ТС] | |
|
Egv, а можно поподробнее? Пример кода был бы очень кстати, если не слишком долго. А за идею спасибо.
Добавлено через 1 минуту кстати, niXman, а что значит ТС?
0
|
|
| 12.03.2010, 03:53 | |
|
Не по теме: alexkolzov, ТС - топикстартер, автор темы
1
|
|
|
|
|
| 12.03.2010, 11:28 | |
|
0
|
|
| 12.03.2010, 11:28 | |
|
Помогаю со студенческими работами здесь
15
Перехват stdout графического приложения
Ошибка при запуске двух приложений, использующих BDE Разработка проектов, использующих и возможности мобильных платформ, и веб-приложений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|