cp&tar&用c语言编写程序 实现cp命令的效果

1.cp (拷贝) 已存在文件路径  要拷贝的文件路径

实现cp命令的代码如下:

  2 #include <stdio.h>
  3
  4 //因为要在命令中得到两个路径,所以要用到main函数的两个参数
  5 int main(int argc,char **argv){
  6
  7  char buf[100]={0};
  8
  9 int size=0;
 10 /* int buf[100]={0} ; 代表数组里的单个存储区占四个字节。 如果我们从原始文件>    里拿出来的数据是3个字节,那么就放不进去*/
 11 FILE * p_src=NULL,*p_dest=NULL;
 12
 13 if (argc <3){
 14         printf("格式命令错误\n");
 15         return 0;
 16 }
 17
 18 //拷贝的思路1:把原文件读到内存中,然后在写入新文件中。原文件可能非常大。
 19 //拷贝的思路2:蚂蚁搬家
 20 p_src=fopen(*(argv+1),"rb");
 21  //argv 代表一个指针数组,
 22 //指针数组里的第一个指针是./out文件,第二个指针是原始文件路径
 23
 24 //分支处理打开失败的情况
 25 if(!p_src){
 26 printf("原始文件打开失败\n");
 27 return 0;
 28 }
 29
 30 p_dest=fopen(*(argv+2),"wb");
 31
 32 if(!p_dest){
 33 printf("新文件打开失败\n");
 34 fclose("p_src");
 35 p_src=NULL;
 36 return 0;
 37 }
 38
 39 while(1){
 40 size=fread(buf,sizeof(char),100,p_src);
 41 if(!size){break;}
 42 fwrite(buf,sizeof(char),size,p_dest);
 43 }
 44 //从原始文件里拿到多少个数据,就写多少个数据。
 45 fclose("p_dest");
 46 p_dest=NULL;
 47
 48 fclose("p_src");
 49 p_src=NULL;
 50
 51
 52 return 0;
 53 }

2.tar 命令

使用zcvf选项 打包 (把多个文件打包成一个压缩文件)。

使用zxvf选项 恢复 (把一个大包压缩好的文件内容恢复成普通文件)。

错误订正:代码第22行 应该为./a.out 文件

原文地址:https://www.cnblogs.com/30ends/p/9270164.html

时间: 2024-10-12 06:29:11

cp&tar&用c语言编写程序 实现cp命令的效果的相关文章

使用C语言编写程序,求解有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个序列的前20项

void test() {  //思路:找规律->从3/2开始 下一个数的分母是上一个数的分子,下一个数的分子是上一个数的分子分母之和  double mol = 2.0, den = 1.0, denlast = 0;  double div = mol / den;  double sum = 0;  int i = 0;  for (i = 0; i < 20; i++)  {   printf("%g/%g ", mol, den);//%g省去浮点数的无效0   

使用c语言编写程序:不允许创建第三方变量

深入理解异或运算实例     一.代码实现          #include<stdio.h>          int main()     {      int a = 10;      int b = 12;      a = a^b;      b = a^b;      a = a^b;      printf("%d %d",a,b);      system("pause");      return 0;     } 二.异或性质   

利用c语言编写程序输出一个数的每一位(多种方法)

第一种: #include <stdio.h> int main() { int zheng,i; int m=0; int yu[10]; int count=0; scanf("%d",&m); zheng=m; for(i=0;i<10;i++) if (zheng!=0) { yu[i]=zheng%10; zheng=zheng/10; count++; } for(i=0;i<count;i++) { printf("%d &quo

C语言编写的bmp读写程序

C语言编写的bmp读写程序 建议先把bmp的数据存储格式了解下 [cpp] view plaincopy <span style="font-size:16px;">#include "Windows.h" #include "stdio.h" #include "string.h" #include "malloc.h" unsigned char *pBmpBuf;//读入图像数据的指针 i

C语言编写cgi程序(上)

cgi简介: 公共网关接口CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位.CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程.CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体.(百度介绍) CGI可以用任何语言编写,使用C语言编写CGI,可以提高系统的效率. 未完待续...

swift语言 编写 ios开发 第一个程序hello world!

老实说:第一个swift语句的ios不是代码敲出来的,我甚至还没来得急看代码,hello world 就出来了..... 本人开发环境:mac osx 10.10 dp1 + xcode6 beta + swift(更低xcode不支持swift语言) 思路与大致过程: 1.建立工程,工程包含界面文件,代码文件等等 2.在工程的界面文件中加入text控件,用于显示hello world 3.输入hello world ,模拟运行 让我们一步一步来: 1.建立工程,工程包含界面文件,代码文件等等

C语言编写一个&#39;*&#39;金字塔的程序

olj3xg踩系凭珊氏菲<http://weibo.com/LXzpRp/230927982968498303012864> 8e8pxe栏胸俾侔善胶<http://weibo.com/20180414pp/230927983255722881978368> e46952阉友河痹敲呕<http://weibo.com/keMXfnmp/230927983173935224852480> 8fpln0计孪甘摆谱匕<http://weibo.com/20180414p

编写程序(C语言)

编写程序: 如果用户输入1,则提示输入租车数量,用变量i保存,然后计算需支付的金额,并输出. 如果用户输入2,则提示输入购票数量,用变量j保存,然后计算需支付的金额,并输出. 如果用户输入其它数,则提示选择错误. 费用计算方法: 租一辆车需支付150元. 门票一张60元,如果购票数>=10,则每张50元. #include <stdio.h>int main(){ int choose,i,j,money; printf("\n\t\t旅游自助服务\n"); prin

【C语言】自己编写程序实现strchr函数。即在给定字符串中找特定的字符并返回该处指针。

<pre name="code" class="cpp">//自己编写程序实现strchr函数.即在给定字符串中找特定的字符并返回该处指针. #include <stdio.h> char * my_strchr(char const *str,int ch) { while(*str!='\0') { if(*str!=ch) str++; else return str; } printf("未找到该字符\n"); r