ultraedit 读取二进制 数据乱码_吐血的二进制文件操作

    这两天的吐血操作,真是傻叉到极致的感觉。唉!

f06592edb930bccc5346f2c41cf17c20.png

    事情是这样的,就是对现有的雷达数据,按照协议进行读取,然后生成对应的点云模型。但是我真的是属于比较笨的类型,对于二进制文件死活理解不开。

95231b50513f4e35c536f30284732f92.png

    嗯,没错,这就是二进制文件(binary)。看着这些乱码,我简直要炸。硬是活活折腾了快三天,我简直就是个假程序员。网上都说这个观点,这个比txt,ascii文件简单。这简直激发了我不服输的精神,看视频,查资料,非要弄清楚不可,于是有了后续。

    首先写一个存二进制文件的写操作和读二进制文件的取操作:

9ccdc5f7ee91c1eded3bc717e0ffe322.png

6f0db17c4646ea26f67eaf71caf7c775.png

    首先用fstream流的方式读取文件,打开模式一定是binary,重点问题卡着的是 inFile.eof,这个我居然不知道:EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。然后我以为我死活读不全文件。后来对read函数的理解,也是傻乎乎的,完全不知道有个东西叫做文件指针:

在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指的文件进行各种操作(百度百科)。读取文件的时候,指针会指向读取位置的下一个指针,跟之前认识的循环完全不一样啊,这个地方也是被坑了很久很久inFile.read(reinterpret_cast(curName), 8 * sizeof(char));。那这样以来,就可以直接读取自己制定的字符数了。

    后面就是根据协议进行数据类型的转义了,由于时间关系,下次再补吧。害,还是那句话,基础不牢, 地动山摇啊。我不甘心只做算法(其实也不太会做算法),所以这些编程基础必须要自己重新学。

1f12b7905e728eaa8a5fb8e49a501f4f.png

世界上还有什么可以让我开心和期待的,那肯定是摸索到凌晨时解决问题的舒爽!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值