Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 17.09.2018, 21:07   #1
ilya4743
 
Регистрация: 30.12.2016
Сообщений: 8
Репутация: 10
По умолчанию Как осуществить ввод в другую программу

Доброго времени суток.
При написании проекта столкнулся с проблемой. У меня есть 2 консольных программы. 1-я запускает вторую и 1-я должна как-то передать(ввести) данные во 2-ую. После чего вторая программа проведёт расчеты и запишет результат в файл. Код второй программы изменять нельзя. С записью в файл результата выполнения второй программы я ещё разобрался system("prog2.exe<<rez.txt"), а как теперь что-то ввести в prog2.exe, используя лишь p1.cpp?

Простой пример каких-то 2-х консольных программ
Код первой программы p1.cpp
Код:

#include <iostream>
using namespace std;
int main()
{
	system("g++ p2.cpp -o prog2");  // компилируем вторую программу
        system("start prog2.exe");          // запускаем вторую программу
        ....................                            // здесь как-то надо ввести(передать данные) в prog2.exe
        system("prog2.exe<<rez.txt");   // записываем результат выполнения второй программы в файл
	system("PAUSE");
        return 0;
}

Код второй программы p2.cpp
Код:

#include<iostream>
using namespace std;
int main()
{
	int a, b, c;
	cin>>a>>b>>c;
	cout<<a+b+c;
	return 0;
}

Подскажите пожалуйста как решить эту проблему. Заранее спасибо.
ilya4743 вне форума   Ответить с цитированием
Старый 17.09.2018, 21:21   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,401
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

Зачем вы компилируете вторую программу из первой?оО
Тогда уж и в ее коде можно что угодно заменить.

И я так и не понял в чем вопрос. Вы ж использовали << для ввода из файла. (только вроде такого не бывает, надо < https://ss64.com/nt/syntax-redirection.html )

Надо получить вывод второй программы?
Либо WinApi (для винды) CreateProcess, либо < input.txt > output.txt
Alex11223 на форуме   Ответить с цитированием
Старый 17.09.2018, 23:01   #3
ilya4743
 
Регистрация: 30.12.2016
Сообщений: 8
Репутация: 10
По умолчанию

Всё, разобрался. Действительно всё оказалось так просто. Спасибо за ссылку Alex11223 и комментарий, они помогли. Мне всего-то нужно было написать system("prog2.exe<in.txt>out.txt");
А в коде у меня ошибка, вы правы, не заметил, конструкция system("prog2.exe<<rez.txt"); не работает, я перепутал местами, хотел написать system("prog2.exe>>rez.txt"); эта конструкция рабочая
ilya4743 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Осуществить ввод последовательности целых чисел. Alimzhan93 C# (си шарп) 1 07.06.2013 06:29
осуществить ввод цифр. осуществить диалог. 13xXx13 Помощь студентам 0 08.12.2011 20:25
Как осуществить ввод с клавиатуры и вывод цифры на дисплее? ALKOrobot Java Мобильная разработка (Android) 0 03.09.2011 20:39
Как осуществить ввод данных в одном цикле, их обработку в другом, и вывод результатов в третьем? ReM Паскаль 5 11.11.2008 19:21
как «внедриться» в другую программу? forzub Общие вопросы Delphi 0 10.07.2008 17:33


00:19.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru