Если Вы хотите выполнить более сложные операции, как чтение вывода внешней программы, Вы можете быть лучше обслужены системный вызов popen . Например, чтобы программно получить доступ к списку каталогов (это - несколько глупый пример, но полезный как пример), Вы могли записать что-то вроде этого:
#include
int main()
{
int entry = 1;
char line[200];
FILE* output = popen("/usr/bin/ls -1 /usr/man", "r");
while ( fgets(line, 199, output) )
{
printf("%5d: %s", entry++, line);
}
}
для предоставления вывода как это
1: cat1
2: cat1b
3: cat1c
4: cat1f
5: cat1m
6: cat1s
...