#include
#include
#include
#include
#include
int main(int argc,char *argv[])
{
FILE *stream;
FILE *wstream; //定義兩個文件流
char buf[1024]; //定義以緩沖區(qū)
if(argc != 2) //如果文件參數(shù)不正確
{
printf("請輸入正確的文件參數(shù)\n");
exit(1);
}
memset(buf,'a',sizeof(buf)); //初始化buf,以免后面寫如亂碼到文件中
stream = popen("ls -l", "r" ); //將“l(fā)s -l”命令的輸出 通過管道讀?。ā皉”參數(shù))到FILE* stream
wstream = fopen(*(argv+1), "w+"); //新建一個指定的的文件
fread(buf, sizeof(char), sizeof(buf), stream);
//將剛剛FILE* stream的數(shù)據(jù)流讀取到buf中
fwrite(buf, 1, sizeof(buf), wstream );//將buf中的數(shù)據(jù)寫到FILE*wstream對應(yīng)的流中,也是寫到文件中
pclose(stream );
fclose(wstream ); //關(guān)閉退出
return 0;
}
當(dāng)前題目:[Linux管道和IPC]管道的高級應(yīng)用--使用popen函數(shù)創(chuàng)建管道
標(biāo)題URL:
http://weahome.cn/article/gdjceo.html