Получить системный вывод команды в C-программе
Есть ли лучший способ сделать это?
int numOfCPU;
system("grep -c ^processor /proc/cpuinfo >> /tmp/cpuinfo");
FILE *fp = fopen("/tmp/cpuinfo", "r");
fscanf(fp, "%d", &numOfCPU);
fclose(fp);
system("rm /tmp/cpuinfo");
Я не хочу создавать промежуточный файл и затем удалять его.
РЕДАКТИРОВАТЬ:
Это не о чтении из файла. Командой может быть "ls" или "echo 'Hello world'"