在C中是否有PHP系统的模拟?
man system
说,system
返回命令的状态,但我需要输出(就像在PHP中一样)。
当然,我可以使用管道,但有没有标准方法?
答案 0 :(得分:3)
您可以将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);
答案 1 :(得分:2)
如果您需要输出命令,则在Unix上使用popen()
(使用“r”表示您要从命令中读取)。
FILE *fp = popen("some -convoluted command", "r");
...check for validity...
...read data from command...
pclose(fp);