您的位置:首页 > 其它

如何将内存中的二进制数据原样输出(输出出来还是二进制)

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐