|
对于一般的linux命令,可以用如下的代码实现:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE* pipein_fp, *pipeout_fp;
char readbuf[81];
readbuf[80] = 0;
//if ((pipein_fp = popen("javac test.java", "r")) == NULL)
if ((pipein_fp = popen("ls", "r")) == NULL)
{
perror("popen");
exit(1);
}
while(fgets(readbuf, 80, pipein_fp))
printf("readbuf = %s", readbuf);
pclose(pipein_fp);
}
但是当把应用程序改成javac以后所有的输出都不能截获!
怀疑可能是javac不是输出到stdout!
不知道有谁有方法能把所有的输出都截获呢?
请指教!
谢谢! |
|