如何将内存中的二进制数据原样输出(输出出来还是二进制)
2007-05-27 17:11
363 查看
//ly:c语言实现.
//ly:获取byte并将byte转化为bits,这样就实现了得到与内存中一样的二进制数据.
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
int main()
{
/*获取byte,将byte转化为bits____________begin*/
/*在c中不能从内存中获取单个bit.内存数据存取的最小单位是byte*/
FILE *fp;
char buf[100];
char bitvalue[8];
fp = fopen("a","rb+");
fread(buf,1,10,fp);//ly:从fp文件中读取10块数据,每块数据1byte.!!!(关键点!)
int i,j=0;
for(i=0;i<10;i++)
{
printf("buf[%d]=%c/n",i,buf[i]);
}
for(i = 7; i > -1; i--)
{
bitvalue[j] = ((buf[0]>>i)&0x01) ? 1: 0;
printf("bitvalue[%d]=====%d/n",j,bitvalue[j]);
j++;
}
//sprintf
fclose(fp);
return 1;
}
//ly:获取byte并将byte转化为bits,这样就实现了得到与内存中一样的二进制数据.
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
int main()
{
/*获取byte,将byte转化为bits____________begin*/
/*在c中不能从内存中获取单个bit.内存数据存取的最小单位是byte*/
FILE *fp;
char buf[100];
char bitvalue[8];
fp = fopen("a","rb+");
fread(buf,1,10,fp);//ly:从fp文件中读取10块数据,每块数据1byte.!!!(关键点!)
int i,j=0;
for(i=0;i<10;i++)
{
printf("buf[%d]=%c/n",i,buf[i]);
}
for(i = 7; i > -1; i--)
{
bitvalue[j] = ((buf[0]>>i)&0x01) ? 1: 0;
printf("bitvalue[%d]=====%d/n",j,bitvalue[j]);
j++;
}
//sprintf
fclose(fp);
return 1;
}
相关文章推荐
- 如何输入一个数,再原样输出出来。
- 如何利用Visual Studio 和 Windbg把内存里的二进制数据导出到文件
- 如何获取float变量在内存中的二进制数据?
- [C/C++]_[输出内存数据的二进制和十六进制的字符串表示]
- 如何查看数据在内存中的二进制比特信息?
- [C/C++]_[输出内存数据的二进制和十六进制的字符串表示]
- struts2中如何把二进制数据输出到客户端
- 如何直接显示内存中的二进制图像数据
- 内存中数据输出到stdout, ffmpeg如何直接读取stdio
- 指令和数据都用二进制代码存放在内存中,从时空观角度回答CPU如何区分读出的代码是指令还是数据
- 指令和数据都用二进制代码存放在内存中,从时空观角度回答CPU如何区分读出的代码是指令还是数据
- windows下面如何将桌面上显示的数据从内存取出来
- 输出内存数据的二进制和十六进制的字符串表示
- 内存中数据输出到stdout, ffmpeg如何直接读取stdio
- 今天的计算机课上,老师给同学们出了一道题: 输入n个数,请将其中的偶数的二进制反转。 eg:输入1 6 5 其中6是偶数,二进制表示为110,反转后为011,代表3,所以最终输出1 3 5. 小贱君最近脑子不怎么好使,想了半天也没想出来如何做,最后他向你寻求帮助了,帮帮可怜的小贱君吧!
- 计算机是如何区分读到的内存是指令还是数据
- ABAP如何在调试查看EXPORT/IMPORT 内存数据
- 关于 Ajax 的 Java 对象序列化 及获得数据后如何展现出来
- Golang 如何定义一个接口类型的切片,它可以用来存储混合类型的数据,又如何自定义错误信息输出,以及如何定义变参函数,还有字符串多种拼接方式
- AngularJS:表格中选择了多个复选框后如何通过点击提交按钮将复选框选中的数据提取出来