数据对计算机而言就是2进制,你看乱码说明显示的时候没有对应字符集,你把原文件打开看有乱码没。
或者你文件有中文,你试试用全部英文和数字的文件读取。
另外,文件有格式的话,你换fscanf和fprintf看看。
你找到MySql的服务器安装路径,默认是C:\ProgramFiles\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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)