C语言文件处理-对图片取模数据的转换
来源:互联网 发布:淘宝模特兼职价格 编辑:程序博客网 时间:2024/06/15 16:22
实现目标:
合并连续两个字节并取反。Example:
0xff,0x00,0x00,0xff,0xff,0xff----->0x0f,0xf0,0x00
使用命令行方式调用程序,该程序的实现代码如下:
#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]){ char ch; FILE *fp, *fo; //fp:输入文件指针 fo:输出文件指针 long count = 0; int i = 0; char s[20] = {0}; //gets(s); //puts(s); printf("argc: %d \n", argc); // printf("argv[0]: %s", argv[0]); for(i = 0; i < argc; i++ ) printf("argv[%d]: %s\n",i, argv[i]); if(argc != 3) //三个形参,分别是程序名 源文件名 目标文件名 { printf("Usage: %s source_filename target_filename\n", argv[0]); exit(1); } if((fp = fopen(argv[1], "r")) == NULL) { printf("Can't open %s\n", argv[1]); exit(1); } if((fo = fopen(argv[2], "w")) == NULL) { printf("Can't creat %s\n", argv[2]); exit(1); } while((ch = getc(fp))!= EOF) // 0 { if(ch == '\n') { //printf("我遇到了回车!\n"); //fputc('\n',fo); } else { if( ch == '0') if(ch = getc(fp) == 'x') // x { if(ch = getc(fp) == 'f') //第一个字节是0xff { ch = getc(fp); // f ch = getc(fp); // , ch = getc(fp); // '空格' ch = getc(fp); // 0 ch = getc(fp); // x if(ch = getc(fp) == 'f')//第二个字节是0xff { putc('0', fo);putc('x', fo);putc('0', fo);putc('0', fo);putc(',', fo);putc(' ', fo); } else //第二个字节是0x00 { putc('0', fo);putc('x', fo);putc('0', fo);putc('f', fo);putc(',', fo);putc(' ', fo); } } else //第一个字节是0x00 { ch = getc(fp); // 0 ch = getc(fp); // , ch = getc(fp); // '空格' ch = getc(fp); // 0 ch = getc(fp); // x if(ch = getc(fp) == 'f')//第二个字节是0xff { putc('0', fo);putc('x', fo);putc('f', fo);putc('0', fo);putc(',', fo);putc(' ', fo); } else //第二个字节是0x00 { putc('0', fo);putc('x', fo);putc('f', fo);putc('f', fo);putc(',', fo);putc(' ', fo); } } } ch = getc(fp); // 0/f ch = getc(fp); // , ch = getc(fp); // 空格 } }}
0 0
- C语言文件处理-对图片取模数据的转换
- C/C++语言,对MSB、LSB的读/取处理
- C语言处理文件中数据
- C语言的文件处理
- C语言对宏的处理
- R语言对爬取的天气数据进行整理
- Unix/DOS换行 符转换的程序,学习一下C对文件的处理
- 关于C语言中对数组取址的问题
- 关于C语言中对数组取地址的理解
- c语言以数据块的形式对文件数据进行操作
- C语言中数据的强制转换
- C语言中数据的强制转换
- 用C语言对txt文件进行读写处理的过程
- Objective-C中对文件的处理
- C语言对文件的操作
- C语言中对文件的随机存取
- 我对C语言文件的理解
- C语言中对文件的操作
- awk编程总结
- 二叉树建立出现的指针问题 转载~~~~~~~~
- Java多线程中的阻塞队列和并发集合
- uvalive 4394 string painter (序列dp)
- 【机房收费系统】MDI菜单显示子窗体
- C语言文件处理-对图片取模数据的转换
- 【POJ 2049】Finding Nemo
- 关于cocos2d-x 触屏事件不能接收的问题
- log4net - Write log to WinForm TextBox
- Machine Learning Basis
- C++打印位数为n的所有数
- ORACLE EBS架构与管理基础(12.1.3)学习总结
- libevent源码之TAILQ详解
- C++ 静态成员函数调用非静态成员函数方法