C语言读取文件出现错误,读取了两遍而且有乱码是什么情况

C语言读取文件出现错误,读取了两遍而且有乱码是什么情况,第1张

程序执行两边,肯定是代码问题。

数据对计算机而言就是2进制,你看乱码说明显示的时候没有对应字符集,你把原文件打开看有乱码没。

或者你文件有中文,你试试用全部英文和数字的文件读取。

另外,文件有格式的话,你换fscanf和fprintf看看。

你找到MySql的服务器安装路径,默认是C:\Program

Files\MySQL\MySQL

Server

5.0,找到my.ini这个配置文件,然后把default-character-set的值改成utf8,有两个地方.如果还不行,看下乱码的那个列的编码格式,把字符集改成utf8,把整理改成utf8_general_ci.

这个函数以二进制形式对文件进行 *** 作。

按数据定义结构的写入保持数据结构的长度,对于数值类型,再用文本方式打开时表现为乱码。例如float a=12345.67,写入文件后为4个字节,打开后不是文本表示的8个字节。

写入数据用fprintf(fp,"%s %s %d 这种方式。不是 fscanf(), 另,注意写出时的格式里要有分隔符空格,否则下次读文件时shu,字符串,数字混在一起无法读。允许同时“读写”的文件,要注意读写位置的控制,必要时用到 回绕文件,或fseek。

扩展资料:

返回实际写入的数据项个数count。

说明:这个与文件的打开模式有关,如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大。

fseek对此函数有作用,但是fwrite函数写到用户空间缓冲区,并未同步到文件中,所以修改后要将内存与文件同步可以用fflush(FILE *fp)函数同步。

参考资料来源:百度百科-fwrite


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9931278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存