Есть ли аналог системы PHP в C?
man system говорит, что system возвращает статус команды, но мне нужен вывод (как в PHP).
man system
system
Конечно, я могу использовать каналы для этого, но этоЕсть ли стандартный способ?
Вы можете использовать popen и связанные функции как:
// command to be run. char *cmd = "date"; // open pipe stream. FILE *fp = popen(cmd,"r"); int ch; // error checking. if(!fp) { fprintf(stderr,"Error popen with %s\n",cmd); exit(1); } // read from the process and print. while((ch = fgetc(fp)) != EOF) { putchar(ch); } // close the stream. pclose(fp);
Идеальная ссылка
Если вам нужен вывод команды, вы должны использовать popen() в Unix (с «r», чтобы указать, что вы хотите прочитать из команды).
popen()
FILE *fp = popen("some -convoluted command", "r"); ...check for validity... ...read data from command... pclose(fp);