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