永发信息网

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

答案:5  悬赏:30  手机版
解决时间 2021-03-26 13:05
C/C++ 如何以二进制方式打开文件并以0,1方式读取写入?
最佳答案
如果是C语言的话,用文件操作fread和fwrite函数。
可以按照字节写入和读出:
FILE *fp;
unsigned char buffer; //字节缓存
fp = fopen("文件名", "wb");//二进制写方式
while(一直读到bmp的末尾)
{
这里将bmp按照字节读入buffer变量中;
fwrite(&buffer, sizeof(unsigned char),1, fp);
}
这样就完成了将任何数据以二进制字节形式写入文件。
读出相反,用fread函数。

C++的话,可以使用流操作,在此不详述。
希望能帮助你。
全部回答

这是我制作的图片操作的框架,支持图像的旋转,加密以及简单的颜色操作(负片,灰度,轮廓提取)等,应该够用了。其中有一个编译选项#define BITSET_24 是用来选择处理文件是24位还是32位的。



matrix.h: 提供存储图片信息的动态二维数组类,注意,二维数组的地址用圆括号运算符提取,如:
Array2 a[2][3];   a(2) = *(a + 2);


bitmap.h: 提供处理图片的类及加密器Encrypter追问额,我不止要处理图片,其它文件例如文本文档,可执行程序都要这样处理。。。追答可以参考我的类中load和save部分的函数。大体思想都是一样的……先打开一个文档并建立指针与之联系,然后读写数据,最后保存文档
位运算判定是0是1,数字转字符
字符转数字,移位操作
首先就没那个必要,除非你要人看010101二进制,否则你的需求可能需要修改下追问我这边算法要求,需要这个二进制,暂时没办法改。。。
必须采用C/C++编程吗,其他的可以吗

  按二进方式打开,不能以文本方式打开;否则,行结束符的转换会影响文件内容;
  按二进方式打开,只能以字节为单位进行读取写入,不能以“位”方式读写,否则,
  太慢,效率低;
  自行操作BMP文件,麻烦有难度,要用API或面向对象方式操作BMP,效率高;
我用的是C++BUILDER,都有现成的BMP控件对象;追问额,主要是以字节读取存储这一块怎么弄?追答你要把书上C读写文件这节看一看,fread,fwrite都可读写字节,
这里不可能系统的给你讲解。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
传说转角会遇见爱,可为何我转过街角遇见的都
夏天吃凉拌鱼最爽口了,凉拌鲫鱼都有哪些做法
led筒灯4寸的一般是多少瓦
搞笑的情景剧 剧本最好和心理有关
怎样做一个文明守礼的好少年 作文
3,6.18,36,72,找规律,后面应填啥
陈赫签约斗鱼是真的还是假的?
妹亲妹因为一点小事骂姐
shakira夏奇拉唱过几次世界杯的主题曲???
带诗字的情话
港东女子美容院地址在哪,我要去那里办事,
蛇胆能不能吃?
石家庄去十渡怎么坐车?
四位二进制加法器74LS283的低位进位C0端的作
现在有什么设备能把12的废旧螺纹钢加工成10个
推荐资讯
二战美军的mk12舰炮的长径比小,为什么炮弹初
剑灵任务管理器进程叫什么
「微普法」离婚后如一方不配合房产过户该怎么
基金停牌对收益有什么影响
适合在办公室偷看的小说阅读器!
汽车初速度 v 0 =20 m/s,刹车后做匀减
日常清洁用品有哪些
려고 和 려면的区别
9.2.1可以强制降级,可信吗
高数如何推导的
IN5819二极管属什么类型的管,怎么检测好坏
ERP系统有并发用户数限制,如何按用户部门来
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?