Как прочитать вывод и дать вход в программу из программы c? - PullRequest
0 голосов
/ 29 мая 2009

Это со ссылкой на вопрос ниже:

Выполнить программу из C-программы

Как мне сделать то же самое в Windows с Tiny C Compiler? Мне нужно выполнить программу .exe для C и передать ее из той же C-программы, используя файл или строку в качестве источника, и прочитать вывод из нее в строку или файл. Любые предложения или примеры приветствуются. Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 29 мая 2009

Самый простой способ, если у вас нет popen () и т. Д., Или вы хотите избежать сложности, - это просто написать файл данных, например. infile с помощью fwrite () выполняет внешнюю программу с помощью system () и затем читает outfile.

system("prog.exe <infile >outfile") 

Ваш prog.exe должен только читать stdin и писать stdout.

Таким образом, вы можете легко протестировать его с содержимым входного / выходного файла. Обычно вы делаете это в каталоге tmp, а затем удаляете их по окончании.

Единственное, на что следует обращать внимание - это путь к .exe

1 голос
/ 29 мая 2009

Google для "Windows Popen", и вы найдете эту ссылку:

lists.trolltech.com / кварта интерес / 1999-09 / thread00282-0.html

В библиотеке времени выполнения C также есть _popen (), но я бы порекомендовал ее.

...