Сохранить данные из стандартного потока выхода в буфер - C (СИ)

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

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

Доброе время суток! Возникла необходимость перенаправить данные из stdout в строку, после выполнения системной команды. Для точности вопроса привожу код:
#include <stdio.h>
#include <stdlib.h>
 
int main(){
 
char com[80];
char buffer[80];
 
fgets(com,80,stdin);
 
system(com);
/* ... magic ... */
 
return 0;
}
После выполнения данной программы в буфер должна быть помещена строка из stdout. К примеру, если мы ввели данные "echo test", то buffer должен содержать "test". Заранее благодарю. P.S. в дальнейшем мне будет необходимо работать с массивом строк(к примеру для команды "dir")

Решение задачи: «Сохранить данные из стандартного потока выхода в буфер»

textual
Листинг программы
system("echo test>>test.txt");

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

  1. Команда echo используется для вывода текста в стандартный поток вывода.
  2. test - это текст, который будет выведен в файл.
  3. >> - это оператор перенаправления, который позволяет записывать вывод команды в файл, не перезаписывая его.
  4. test.txt - это имя файла, в который будет записан текст.

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

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