C中有没有类似PHP的系统?
man system
说,该system
返回命令的状态,但我需要输出(如在PHP中)。
当然,我可以使用pipe道,但有没有标准的方法?
您可以使用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);
Ideone链接
如果你需要命令的输出,你可以在Unix上使用popen()
(用“r”来表示你想从命令中读取)。
FILE *fp = popen("some -convoluted command", "r"); ...check for validity... ...read data from command... pclose(fp);