以十六进制存储的文本文档正确读入内存的转化程序
来源:互联网 发布:淘宝上微博小号怎么买 编辑:程序博客网 时间:2024/04/30 01:54
/*约定:文本中十六进制的abcdef以大写方式出现;每个字节以2个字符表示,如0x2应写成0x02*/
#include "stdio.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main()
{
int i, j = 0;
char tmp;
unsigned char buf[128], buf2[128];
FILE *fp = fopen("1", "r");
int size = fread(buf, 1, sizeof(buf), fp);
printf("size = %d/n", size);
for(i = 0; i < size; i++)
{
printf("%x ", buf[i]);
}
printf("/n");
for(i = 0; i < size;)
{
//find a value
if(((buf[i] >=0x30) && (buf[i] <=0x39)) || ((buf[i] >= 0x41) && (buf[i] <= 0x46))) //0...9
{
if((buf[i] >=0x30) && (buf[i] <=0x39)) //0..9
{
buf2[j] = buf[i] - 0x30;
}
else //ABCDEF
{
buf2[j] = buf[i] - 0x37;
}
if((buf[i+1] >=0x30) && (buf[i+1] <=0x39)) //0..9
{
tmp = buf[i+1] - 0x30;
}
else if((buf[i] >= 0x41) && (buf[i] <= 0x46)) //abcdef
{
tmp = buf[i+1] - 0x37;
}
else
{
printf("error/n");
return 1;
}
//format a value
buf2[j] = (buf2[j] << 4) | tmp;
printf("%x ", buf2[j]);
j++; //real num++
i += 2;
}
else //find next
{
i++;
}
}
printf("/n");
return 0;
}
- 以十六进制存储的文本文档正确读入内存的转化程序
- 采用vb以十六进制的形式读取文本文档数据
- Excel批量设置数字转化成“以文本形式存储的数字
- C程序读入一组文本行,打印最长的一行。
- 文本转化成十六进制
- 十进制转化成二、八、十六进制的一个小程序
- Java使用流读入字符,正确输出读入的字符.
- 对文本文档加密的c++程序
- vim以十六进制显示文本
- 读入一行以空格隔开的参数
- excel2010将数字变成以文本存储的数字
- numpy中以文本的方式存储以及读取数据
- c++基础之以文本形式的存储
- Excel以文本存储的数字转成数字
- 字符串的读入程序总结
- Qt读入十六进制数,然后进行计算啥的
- 十进制到十六进制转化的小函数
- 字节数字和十六进制的转化
- 12.4-----left join 分析
- 难呐~JSON解析器
- asp 提示 request 错误的解决方法
- Javascript中$符号的意思
- BLOG搬家了
- 以十六进制存储的文本文档正确读入内存的转化程序
- excel中的if应用(转载)
- 什么是posix
- Ubuntu SSh远程管理服务器安装配置
- 想学黑客,你必须上的第一课!!!!
- 一个合格程序员该做的事情
- 使用MXML 将监听器与事件相关联
- PlentyOfFish 网站架构学习
- 造句