fputs保存的数据如何文件头多5个字节的乱码

fputs保存的数据怎么文件头多5个字节的乱码
我是用fopen 打开,fgets读出,修改完之后用fputs写入,最后fclose的,在windows上保存的那个文本文件是正常的,但是在linux下保存的文本文件头是有乱码,是5个字节的乱码,跳过就没事了,不是很明白这是怎么回事,请问咋回事呢,有知道的朋友吗?
------解决思路----------------------
编码问题?fputs保存的数据如何文件头多5个字节的乱码
------解决思路----------------------
读写变换之间,重新定位一下...
------解决思路----------------------
引用:
那怎么避免啊,这保存个文件还得判断文件编码?

linux文本默认是UTF-8,windows的默认貌似是GB2312还是啥的来着fputs保存的数据如何文件头多5个字节的乱码,找个文本编辑器转换一下编码就行了
------解决思路----------------------
用fopen(...,"...b")二进制模式打开。