您的位置:首页 > 运维架构 > Linux

linux中一个通过管道读取大量数据的程序源代码

2011-11-25 10:42 288 查看
//运行环境:ubuntu9

//可以实现对管道的多次读取

#include <unistd.h>

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

int main()

{

FILE *read_fp;

char buffer[BUFSIZ+1];

int chars_read;

memset(buffer,'\0',sizeof(buffer));

read_fp=popen("ps -al","r");

if(read_fp!=NULL){

chars_read=fread(buffer,sizeof(char),BUFSIZ,read_fp);

while(chars_read>0) {

buffer[chars_read-1]='\0';

printf("Reading %d :-\n%s\n",BUFSIZ,buffer);

chars_read=fread(buffer,sizeof(char),BUFSIZ,read_fp);

}

pclose(read_fp);

exit(EXIT_SUCCESS);

}

exit(EXIT_FAILURE);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐