【发布时间】:2011-05-18 11:16:29
【问题描述】:
C 语言中有没有类似 PHP 的系统?
man system 说,system 返回命令的状态,但我需要输出(就像在 PHP 中一样)。
当然,我可以使用管道,但是有什么标准方法吗?
【问题讨论】:
-
我想你想要 popen('command goes here')。在 popen 上阅读您的手册页
C 语言中有没有类似 PHP 的系统?
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);
【讨论】:
如果你需要命令的输出,你可以在 Unix 上使用popen()(用“r”表示你想从命令中读取)。
FILE *fp = popen("some -convoluted command", "r");
...check for validity...
...read data from command...
pclose(fp);
【讨论】: