Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wingblack
252 / 227 / 33
Регистрация: 09.04.2013
Сообщений: 849
#1

Обрывы при чтении вывода консольного приложения - C++

08.06.2014, 14:03. Просмотров 135. Ответов 0
Метки нет (Все метки)

Требуется прочитать вывод консольного приложения. Был использован код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    char tmp[200];
 
    FILE *child = _popen("windump.exe -i 1 -s 0 -w - ", "r");
 
    if (NULL == child)
        throw std::runtime_error("Unable to spawn child program");
 
    while   (fgets(tmp, sizeof(tmp), child))
        cout << tmp;
        
    std::cout << "\n END \n";
    _getch();
    return 0;
Проблема в том, что программа прерывает чтение, хотя если запутить консольное приложение, с которого производится чтение, отдельно, то оно выводит данные пока не закроешь.
Думаю, это может быть из-за наличия каких-то спец символов в потоке вывода.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2014, 14:03     Обрывы при чтении вывода консольного приложения
Посмотрите здесь:

C++ Работа с файлами из консольного приложения
Мню консольного приложения C++
Иконка для консольного приложения C++
C++ Рестарт консольного приложения
Отладка консольного приложения C++
C++ Иконка для консольного приложения
C++ Интерфейс консольного приложения
C++ Интерфейс консольного приложения win32
Получение параметров при запуске консольного приложения C++
Проект консольного приложения из Windows приложения C++
C++ Переработка консольного приложения в оконное
Таймер для консольного приложения C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 21:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru