fopen引发的bug

我们的项目中有一个模块是用来读取策划配置的csv表格反序列化成游戏里的配置对象,近期发现一个奇怪的现象,在debug模式下一切正常,在release模式下总会读取到一些不存在的id导致服务器程序崩溃,头疼的是这还不是必现的。

通过打印fread读取到的数据大小发现,读取到的文件数据小于文件本身的长度,于是给fread弄了一个循环读,还是读取不完信息。最后把fopen的调用参数从原来的fopen(path,"r")修改为fopen(path,"rb")解决了问题。

原来“r”是以文本方式读取,"rb"是以二进制方式读取。奇怪的是csv文件本来就是文本,而且用“r”方式读取在debug模式下没有出问题,这个问题待日后有时间在研究吧。

posted @ 2018-03-29 19:06  doublerain  阅读(261)  评论(0编辑  收藏  举报