C文件读写
2016-05-12 15:04
176 查看
#include <stdio.h> #include <stdlib.h> /*#include<iostream> using namespace std;*/ #define MAXLEN 1024 void safeOpenFile(FILE* &file, char const *name, char const *mode) { if ((file = fopen(name, mode)) == NULL) { printf("open error\t"); } printf(name); } void safeCloseFile(FILE *&file) { if (fclose(file) != 0) { printf("close error\n"); } } void copyFile(FILE *infile, FILE *outfile) { char buf[MAXLEN]; /* int n_vals; while ((n_vals = fread(buf, sizeof(char), MAXLEN, infile)) != 0) //fread按块读取 { fwrite(buf, sizeof(char), n_vals, outfile); }*/ /* while (fgets(buf, MAXLEN, infile) != NULL) //fgets按行读取 { fputs(buf, outfile); }*/ /* char cc; while (EOF != (cc = fgetc(infile))) //fgetc单个字符读取 { fputc(cc, outfile); } */ } void doFile(char const *fromfilename, char const *read_mode, char const *tofilename, char const *write_mode, void (*dosomething)(FILE *, FILE*)) { FILE * outfile, *infile; safeOpenFile(infile, fromfilename, read_mode); safeOpenFile(outfile, tofilename, write_mode); dosomething(infile, outfile); safeCloseFile(infile); safeCloseFile(outfile); } void encodeProcess(FILE *infile, FILE *outfile) { char buf[MAXLEN]; int n_vals; while ((n_vals = fread(buf, sizeof(char), MAXLEN, infile)) != 0) //fread按块读取 { for (int i = 0; i < n_vals; ++i) { buf[i] ^= 'A'; } fwrite(buf, sizeof(char), n_vals, outfile); } /* while (fgets(buf, MAXLEN, infile) != NULL) //fgets按行读取 { fputs(buf, outfile); }*/ /* char cc; while (EOF != (cc = fgetc(infile))) //fgetc单个字符读取 { fputc(cc, outfile); } */ } int main(int argc, char *argv[]) { //doFile("Slicing.gcode", "rb", "result.txt", "wb", ©File); doFile("Slicing.gcode", "rb", "res.gcode", "wb", &encodeProcess); doFile("res.gcode", "rb", "Slicing_after.gcode", "wb", ©File); // system("PAUSE"); return 0; }
相关文章推荐
- ZeroMQ消息模型代码实现(Python版本)
- 关于Odoo 选择供应商实现产品过滤功能
- 广告联盟中的CPA、CPS、CPC、CPM分别是什么意思
- Windows下Redis的安装使用教程
- Git忽略规则及.gitignore规则不生效的解决办法
- Quartz2d 使用UIkit绘图方法 CADisplayLink 定时器
- 关于odoo、postgresql中sql 的取空值的写法
- 怎么用Integer.toHexString(int)得到byte类型的十六进制字符串形式?
- 在mac本上折腾android 开发环境
- 跟踪算法牛人主页收集
- PLSQL 11 注册码
- 欢迎使用CSDN-markdown编辑器
- WPF-DataGrid设置各行变色
- 线程池
- Github ——转
- 快排
- pycharm 常用快捷键
- 远程服务例子2
- Weblogic/Tomcat服务器(过滤)禁止访问指定后缀名文件
- Recycling Bottles