cp命令_fread, fwrite

  1 /*2  * FILE: p673_cp.c3  * DATE: 201801244  * ==============5  */6 7 #include <stdio.h>8 9 #define BUFFSIZE 12810 11 int main(int argc, char *argv[])12 {       13         FILE *fp1, *fp2;14         char buf[BUFFSIZE];15         int len;16         17         if(argc != 3)18                 fprintf(stderr, "Usage: ./mycp SOURCE DEST\n");19         // fopen 打开源文件20         if((fp1=fopen(argv[1], "r")) == NULL)21                 perror("faile to fopen");22         // fopen 目标文件,若不存在则创建23         fp2 = fopen(argv[2], "w");24         25         // 循环读写26         while((len=fread(buf, sizeof(char), BUFFSIZE, fp1)) > 0)27                 fwrite(buf, sizeof(char), len, fp2);28         29         fclose(fp1);30         fclose(fp2);31         return 0;32 }

cp命令_fgetc, fputc

  1 #include <stdio.h>2 3 int main(int argc, char *argv[])4 {5         FILE *fp1, *fp2;6         int c;7 8         fp1 = fopen(argv[1], "r");9         fp2 = fopen(argv[2], "w");10 11         while((c=fgetc(fp1)) != EOF)12         {13                 fputc(c, fp2);14                 fputc(c, stdout);15         }16 17         fclose(fp1);18         fclose(fp2);19 20         return 0;21 }

cp命令_fgets, fputs

  1 #include <stdio.h>2 #include <string.h>3 4 #define BUFFSIZE 1285 6 int main(int argc, char *argv[])7 {8         FILE *fp1, *fp2;9         char buf[BUFFSIZE];10 11         fp1 = fopen(argv[1], "r");12         fp2 = fopen(argv[2], "w");13 14         while(fgets(buf, BUFFSIZE, fp1) != NULL)15         {16                 int len = strlen(buf);17                 fputs(buf, fp2);18                 buf[len-1] = '\0';      // 去除换行符19                 fprintf(stdout, "%s - %d\n", buf, len-1);20         }21         return 0;22 }

ls命令

  1 /*2  * FILE: p606_ls.c3  * DATE: 201801244  * ==============5  */6 7 #include <stdio.h>8 #include <stdlib.h>     // exit9 #include <unistd.h>     // STDOUT_FILENO10 #include <string.h>11 #include <dirent.h>     // opendir12 13 void myls(char *ptr);14 15 int main(int argc, char *argv[])16 {17         if(argc != 2)18         {19                 fprintf(stderr, "Usage: ./build path\n");20                 exit(-1);21         }22         myls(argv[1]);23         return 0;24 }25 26 void myls(char *path)27 {28         DIR *dir;29         struct dirent *ptr;30         int count = 0;31 32         // opendir 打开目录     33         if((dir=opendir(path)) == NULL)34                 perror("fail to opendir");35 36         // 顺序读取每一个目录项37         while((ptr=readdir(dir)) != NULL)38         {39                 // 跳过“.”和“..”两个目录40                 if(strcmp(ptr->d_name, ".")==0 || strcmp(ptr->d_name, "..")==0)41                         continue;42                 printf("%s\t", ptr->d_name);43                 count++;44                 // 一行显示5个45                 if(count!=0 && count%5==0)46                         printf("\n");47                         //write(STDOUT_FILENO, "\n", 1); // 不可48         }49         // closedir 关闭目录50         closedir(dir);  // 注意一定要关闭目录51         printf("\n");52 }

shell实现 ( cp, ls, )相关推荐

  1. linux shell 用cp -f 还是有覆盖提醒

    2019独角兽企业重金招聘Python工程师标准>>> 今天写个脚本:linux shell 用cp -f 还是有覆盖提醒. 搜了一下:找到原因和解决办法: 推荐:用2,3种方法. ...

  2. linux shell mv/cp 错误: will not overwrite just-created <filename> with <sameFilename> 解决方法

    运行shell脚本时,mv/cp时出现如下提示: mv: will not overwrite just-created <filename> with <sameFilename& ...

  3. 基础命令之cd,mkdir,cp,ls

    只记录一下自己不太熟的命令. cd (change directory)切换目录命令..直接用cd则输入到用户家目录下,cd ~和cd一样.cd ~sunjiebin则代表切换到sunjiebin用户 ...

  4. linux cp命令 通配符,关于shell:cp和mv中的Linux通配符用法

    我正在编写一个脚本来处理20个文件. 它们全部位于不同的目录中. 我有部分文件名. 在日志目录中,File1_Date_time.err更改为File1__Date_time_orig.err cd ...

  5. Linux shell命令 cp 加上-f还是提示是否覆盖

    这是由于环境变量中有 allias cp='cp -i' 为了去掉这个系统自带的别名,能够使用grep -r --include="*" "alias cp"  ...

  6. linux ls命令shell脚本位置,linux - shell脚本到ls并在ls上执行命令结果 - SO中文参考 - www.soinside.com...

    我在ubuntu的文件夹中有一个文件夹列表.即.在/ mnt / source / customcode / files / brands /下 root@a919794ec280:/mnt/sour ...

  7. shell命令:ls命令

    ls: #按文件从大到小: ls -S# 按文件从小到大 ls -Srls -Srlh 输出000.mp3到049.mp3: ls | grep .*[0-4][0-9].mp3 | tr " ...

  8. python自带的shell是什么-python shell是什么东西

    python shell是Python的命令行. shell中最常用的是ls命令,python对应的写法是:os.listdir(dirname),这个函数返回字符串列表,里面是所有的文件名,不过不包 ...

  9. python自带的shell是什么-python shell是什么东西?

    茅侃侃 是Python的命令行.shell中最常用的是ls命令,python对应的写法是:os.listdir(dirname),这个函数返回字符串列表,里面是所有的文件名,不过不包含".& ...

最新文章

  1. Self-Orthogonality Module:一个即插即用的核正交化模块
  2. LeetCode 64 最小路径和
  3. 用python求期望_Python——EM(期望极大算法)教学(附详细代码与注解)
  4. lesson3 一阶线性常微分方程解法
  5. VC++实现快速截屏
  6. 操作系统---高响应比优先调度算法实例
  7. java复制pdf_java – 使用iText复制带注释的PDF
  8. 51单片机C语言延时函数怎么定义和使用
  9. 【数据库实验一】基础操作
  10. S5P6818裸机开发(1)-启动过程分析
  11. 蒸烤一体机哪个品牌好性价比高,盘点国内消费者呼声最高的品牌推荐
  12. turtle---见证小海龟的浪漫之画
  13. Linux网卡丢包分类整理(1)——网卡篇
  14. jquery ajax json文件,jQuery ajax读取本地json文件
  15. 美的智能SPA微气泡可视化冲牙器体验
  16. Mac录屏,同时保留声音
  17. APP安全漏洞学习笔记
  18. 清华计算机专业考研经验谈
  19. android TP
  20. 玩课网计算机基础课后答案,计算机类MOOC教学研讨会暨中国高校CMOOC联盟云南省工作委员会成立大会在昆明理工大学举行...

热门文章

  1. 硬件手册——PT100精密测温电路
  2. SEED实验系列:缓冲区溢出漏洞实验
  3. 【转自VeryCD]中小型企业网站设计分析
  4. Python实现Word文档标题格式判断
  5. docker 镜像(images)
  6. 安卓蓝牙功能小结(附蓝牙聊天室demo)
  7. 《Adobe Photoshop大师班:高级合成的秘密》—第1章文件格式
  8. 企业如何做战略规划------5看3定是不是套路,反正大企业就那么做的,。。。。。。。
  9. 链接的时候如何去掉没有用到的函数、目标文件
  10. 苏联电子管小型化_探索苏联同种型,将四年之内的斗争数字化