分类: C/C++
2011-01-10 08:35:07
popen 和 pclose 库函数实现的操作:创建一个管道,调用fork产生一个子进程,关闭管道的不使用端,执行一个shell命令,然后等待命令终止。
#include
//成功返回文件指针,失败返回-1
FILE *popen(const char *cmdstring, const char *type);
//返回cmdstring的终止状态,出错返回-1
int pclose(FILE *fp);
popen先执行fork, 然后调用exec以执行cmdstring, 并且返回一个标准I/O文件指针。如果type是“r”,则文件指针链接到cmdstring的标准输出;如果type是“w”,则文件指针链接到cmdstring的标准输入。
//成功返回buf, 否则返回NULL
char *fgets(char *restrict buf, int n, FILE *restrict fp);
//成功返回非负值,出错返回EOF
int fputs(const char *restrict str, FILE *restrict fp);
例:
chinaunix网友2011-03-08 13:59:21
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com