使用gzip

时间:2016-05-11 09:37:35

标签: c gzip

我必须将文件gzip到路径中。我想做的是:

gzip -9c example.txt > /home/paulo/new_name

如果我这样做并且它完全正常,但我使用execlp在c中执行它:

  execlp("gzip","gzip","-9c",file,">",path,NULL);

但是当我使用这个execlp时,我会在stdout上获得随机字符。我只是打印文件和路径来检查两者是否正确:

 printf("%s, %s\n",file,path);

我得到了这个:

example.txt, /home/paulo/new_name

有人能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:3)

一种方法是调用shell:

execl("/bin/sh", "/bin/sh", "-c", "gzip -9c example.txt > /home/paulo/new_name", NULL);

这类似于system函数的功能。所以另一种选择是:

exit(system("gzip -9c example.txt > /home/paulo/new_name"));