命令行和文件的操作
2015-09-06 14:27
239 查看
/** * 使用命令行方式 * 复制任意多个文件内容到一个文件中 * 命令行形式:mycopy 1.txt 2.txt 3.txt 4.txt * 功能: 复制2.txt 3.txt 4.txt的内容到1.txt中 */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define BUF_SZ 81 char buf[BUF_SZ]; void main(int argc, char ** argv) { FILE * fpw = NULL, * fpr = NULL; int i; if (argc <= 2) { puts("参数个数太少,请重新输入。"); return; } if ((fpw = fopen(argv[1], "a")) == NULL) { puts("第一个文件打开失败。"); return; } for (i = 2; i < argc; i++) { if ((fpr = fopen(argv[i], "r")) == NULL) { printf("第%d个文件打开失败。\n", i); } while (fgets(buf, BUF_SZ, fpr)) fputs(buf, fpw); fputc('\n', fpw); fclose(fpr); } fclose(fpw); }
/** * 文本文件中大小写英文字符的转换 * 转换的文件名通过命令行参数提供 */ #include <stdio.h> #include <stdlib.h> void main(int argc, char ** argv) { FILE * fpr, * fpw; char ch; if (argc != 2) { puts("命令格式:执行文件名 待转换文件名"); return; } if ((fpr = fopen(argv[1], "r")) == NULL) { printf("文件%s未找到。\n", argv[1]); return; } if ((fpw = fopen(argv[1], "r+")) == NULL) { //!!!read/update printf("文件%s未找到。\n", argv[1]); return; } while ((ch = fgetc(fpr)) != EOF) { if ('a' <= ch && ch <= 'z') ch = ch - 'a' + 'A'; else if ('A' <= ch && ch <= 'Z') ch = ch - 'A' + 'a'; fputc(ch, fpw); } fclose(fpr); fclose(fpw); }
相关文章推荐
- JAVA程序员成长之路的总结
- HBuilder的几个常用快捷键
- JSP基本面试的试题
- iOS-交互设计归纳
- 思维导图案例之VeritasDCG
- mybatis3.2.8 与 hibernate4.3.6 混用
- 关于数据库删除时,未找到搜索关键词的问题
- MarkdownPad 2 在win10下html渲染错误This view has crashed
- 旋转卡壳算法
- 三分钟理解“命令模式”——设计模式轻松掌握
- CentOS下go 安装
- POJ 2676 Sudoku
- codeforces 484 B Maximum Value 排序+二分 + 数学
- 三分钟理解“命令模式”——设计模式轻松掌握
- 1070. Mooncake (25)
- tableview 在重用时如何避免内容重复
- 零成本实现Web性能测试:基于Apache JMeter
- bzoj1642:挤奶时间
- Hibernate系列之基本配置
- Effective C++ Item3