文件读取格式注意


自己在 VS 中开发一个应用程序,对家存储存放的 KEY 文件进行加密;

那么,读取文件的时候,打开文件如下:

FILE* fp_in = fopen("ssk_key", "r");

//========================================================================

那么,在调试的时候,总是发现读取文件不完整;例如,文件有 900 个字节;

使用 fread() 读取的时候,读取到 100 个字节,fread() 函数就返回 0,表示读取完;

//========================================================================

但是,文件确实是有 900 个字节;为何没有读取完呢?

在调试的是,发现,读取的到的数据,末尾总是 \r\n,就是一个回车换行符;

//========================================================================

那么,此时自己推理:可能是 fread() 碰到 \r\n 就认为文件结束了;

这是因为,我们在打开文件的时候,参数是 "r",是把文件作为一个“文本文件”来看待操作;

//========================================================================

但是,存放 KEY 的文件,是一个二进制文件;

所以,应该以 二进制 的形式打开文件,如下:

FILE* fp_in = fopen("ssk_key", "rb");

这样就可以读取完整一个文件的数据;

//========================================================================

只需要99元就可以投资自己,掌握Linux系统编程!主要传授《Linux C/C++程序设计》《Linux 系统编程》,主页有学习视频!
只需要99元就拥有全部课程和资料,让我们用技术改变自己,改变生活,改变世界!
视频可以百度搜索:韦凯峰Linux编程学堂
 

//========================================================================


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值