#include <stdio.h>
#include <string.h>
#include <errno.h>
int main(int argc,char*argv[])
{
FILE *fstream = NULL;
char buff[1024], command_buf[1024];
memset(buff, 0, sizeof(buff));
memset(command_buf, 0, sizeof(command_buf));
sprintf(command_buf, "%s %s %s", argv[1], argv[2], argv[3]);
if(NULL == (fstream = popen(command_buf,"r")))
{
fprintf(stderr,"execute command failed: %s",strerror(errno));
return -1;
}
while(NULL != fgets(buff, sizeof(buff), fstream))
{
printf("%s",buff);
//printf("buff size: %ld", sizeof(buff));
}
pclose(fstream);
return 0;
}
./a.out diff 1.txt 2.txt
https://blog.csdn.net/lu_embedded/article/details/78669939
本文介绍了一个使用C语言实现的文件操作示例,通过管道通信执行外部命令并读取其输出。代码展示了如何利用popen和pclose函数进行进程间通信,以及如何使用fgets读取文件内容。

3万+

被折叠的 条评论
为什么被折叠?



