有没有类似于PHP中system函数的C语言函数?
通过
当然,我可以使用管道实现这个功能,但是否有标准方法呢?
通过
man system
命令可以得知,system
函数返回命令的状态码,但我需要像PHP那样的输出结果。当然,我可以使用管道实现这个功能,但是否有标准方法呢?
您可以使用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()
(使用“r”表示您要从命令中读取)。FILE *fp = popen("some -convoluted command", "r");
...check for validity...
...read data from command...
pclose(fp);