关于文件的打开方式(字节流和二进制流)

今天想起一个恶作剧的程序,便动手写了起了。起初我觉得是挺简单的。之后便发现没那么简单。


本来就是一个文件拷贝的事情,但我要将文件存储的二进制文件中,而且文件还不小。问题首先来了,不过简单,写一个辅助程序将文件转换成十六进制的字符串这个简单马上就写成了。


由于文件过大之后,必须修改 Zm 编译选项才能通过编译。


但接下来问题又出现了,拷贝后的文件比原来大好多,这是为什么了,苦想了好久,原来拷贝二进制文件(非文本文件),必须见文件写入的方式设为以二进制流的形式打开,以前写远控的时候也碰到相同的问题。真是的,写下来告诫自己以后不要再犯同样的错误。害的我写了一个diff程序,来对比文件。到文件使用字节流打开时,向文件中写入 \n (\x0a),windows实际写入的是\r\n (\x0d\x0a),这个一定要注意。使用二进制流打开写入,就不会有问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值