Запуск программы, чтение и запись в неё - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, такое дело. Мне нужно запустить определённую программу, а затем писать в её ввод и читать из вывода. Пытался сделать с помощью pipes (popen()), но ничего не получилось. Хотелось бы увидеть готовый пример. Заранее спасибо за помощь. (Каюсь, поиском по форуму не пользовался)

Решение задачи: «Запуск программы, чтение и запись в неё»

textual
Листинг программы
#include <stdio.h>
 
int main(void) {
    FILE * app;
    
    if ( ! ( app = popen("./reverse_print", "w") ) ) {
        fprintf(stderr, "Can't open pipe!\n");
        return 1;
    }
    
    fprintf(app, "any many money more");
    
    pclose(app);
    return 0;
}

Объяснение кода листинга программы

  1. Подключение стандартной библиотеки файловых операций
  2. Создание функции main()
  3. Объявление указателя на файл app
  4. Проверка на успешное открытие файла (или потока) для записи с помощью функции popen()
  5. Вывод сообщения об ошибке и возврат значения 1 при неудачном открытии файла
  6. Установка указателя app на открытый файл
  7. Вывод строки any many money more в файл с помощью функции fprintf()
  8. Закрытие файла с помощью функции pclose()
  9. Возврат значения 0, означающего успешный исход работы программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы