为了账号安全,请及时绑定邮箱和手机立即绑定

C/C++ 如何以二进制方式打开文件并以0,1方式读取写入?

C/C++ 如何以二进制方式打开文件并以0,1方式读取写入?

C++
慕森卡 2019-03-22 15:14:18
C/C++ 如何以二进制方式打开文件并以0,1方式读取写入?例如我想把一个bmp格式的图片以二进制打开,得到01000111101010100.。。。这种形式并储存到文本中,然后再把这些数字二进制写入还原为原来的bmp图片。小弟菜鸟,请教各位高手应如何做?希望给出一个源码并解释一下。
查看完整描述

3 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

如果是C语言的话,用文件操作fread和fwrite函数。
可以按照字节写入和读出:
FILE *fp;
unsigned char buffer; //字节缓存
fp = fopen("文件名", "wb");//二进制写方式
while(一直读到bmp的末尾)
{
这里将bmp按照字节读入buffer变量中;
fwrite(&buffer, sizeof(unsigned char),1, fp);
}
这样就完成了将任何数据以二进制字节形式写入文件。
读出相反,用fread函数。

C++的话,可以使用流操作,在此不详述。

查看完整回答
反对 回复 2019-03-27
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

位运算判定是0是1,数字转字符

字符转数字,移位操作

首先就没那个必要,除非你要人看010101二进制,否则你的需求可能需要修改下

查看完整回答
反对 回复 2019-03-27
  • 3 回答
  • 0 关注
  • 1466 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信