Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

Доброго времени суток.
При написании проекта столкнулся с проблемой. У меня есть 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, 20:21   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

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

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

Надо получить вывод второй программы?
Либо WinApi (для винды) CreateProcess, либо < input.txt > output.txt
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.09.2018, 22:01   #3
ilya4743
 
Регистрация: 30.12.2016
Сообщений: 8
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Осуществить ввод последовательности целых чисел. 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 Паскаль, Turbo Pascal, PascalABC.NET 5 11.11.2008 18:21
как «внедриться» в другую программу? forzub Общие вопросы Delphi 0 10.07.2008 17:33