2008年11月7日星期五

初等的Bug(2)

在C中打开文件句柄写入文件
FILE *fopen
这个函数的第二个参数可以为w或wb。
用w打开文件,但是写入二进制数据会有什么后果?
今天遇到一个这个问题导致的Bug,困惑了我很久,后来在十六进制编辑器的帮助下,发现再写入二进制流的过程中每隔一段会多写入一个0D,也就是换行符,才明白。
给我的启示是:一定要搞清楚C函数库参数的含义,不要再犯这么初等的错误!

没有评论: