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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
#1

как организовать конвейер - C++

02.04.2010, 20:03. Просмотров 1576. Ответов 6
Метки нет (Все метки)

как организовать передачу результатов одного приложения в другое по конвейеру типа dir | more и т.п. ОС windows
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1921 / 1530 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
02.04.2010, 20:28     как организовать конвейер #2
Через stdin.

Добавлено через 1 минуту
Т.е. твоя программа просто должна ожидать ввод.
pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
03.04.2010, 12:32  [ТС]     как организовать конвейер #3
ну а если я захочу что то вроде unix команды написать типа "dir C:\ | grep имя_файла", есть же такая штука как передача результатов через конвейер.
rangerx
1921 / 1530 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
03.04.2010, 13:29     как организовать конвейер #4
А я о чём? Я же говорю осуществляется это через поток ввода. Т.е. пишется программа такого вида(естественно со своим функционалом):
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <string>
 
int main()
{
    std::string str;
    for(int n = 1; std::cin >> str; ++n)
        std::cout << n << ". " << str << std::endl;
    return 0;
}
Всё, а дальше вызывай через командную строку:
dir C:\ | myprog
pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
04.04.2010, 19:03  [ТС]     как организовать конвейер #5
спасибо добрый человек. сегодня попробую

Добавлено через 5 часов 41 минуту
действительно работает. большое блин спасибо.
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17192 / 5446 / 337
Регистрация: 30.03.2009
Сообщений: 14,794
Записей в блоге: 26
04.04.2010, 20:01     как организовать конвейер #6
pontakrin, конвейер организовывает запускающая программа. Когда ты в терминале пишешь "dir | more", то конвейер организовывает программа-шелл. Причём организовывается так, что stdout первой программы связывается через трубопровод с stdin второй программы. Т.е. первая программа просто должна печатать в stdout (printf или cout), а вторая программа читать stdin (scanf или cin)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2010, 12:07     как организовать конвейер
Еще ссылки по теме:

Как организовать класс? C++
C++ Выравнивание по ширине как организовать?
Как организовать цикл здесь? C++
Как организовать массив структур? C++
C++ Как организовать форматированный вывод?

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

Или воспользуйтесь поиском по форуму:
pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
05.04.2010, 12:07  [ТС]     как организовать конвейер #7
боле менее понятно. не думал что так просто
Yandex
Объявления
05.04.2010, 12:07     как организовать конвейер
Ответ Создать тему
Опции темы

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