在写入文件之前,确认文件的编码格式。例如,如果文件是以UTF-8编码保存的,可以使用以下代码来打开文件: FILE*file = fopen("file.txt","w, ccs=UTF-8"); 确保写入的内容与文件编码一致。如果要写入的内容是以UTF-8编码保存的,可以使用以下代码来写入文件: constchar*content ="你好世界"; fwrite(content,size...
解决方法可以尝试以下几种: 确保写入的数据与文件的编码格式一致:可以使用文本编辑器如Notepad++等打开文件,查看文件的编码格式,然后将要写入的数据转换为相同的编码格式再进行写入。 使用二进制写入:可以使用二进制方式写入文件,即使用fopen函数打开文件时以"wb"模式打开,然后使用fwrite函数写入二进制数据。这样可以确保数...
这个函数以二进制形式对文件进行操作。按数据定义结构的写入保持数据结构的长度,对于数值类型,再用文本方式打开时表现为乱码。例如float a=12345.67,写入文件后为4个字节,打开后不是文本表示的8个字节。写入数据用fprintf(fp,"%s %s %d 这种方式。不是 fscanf(), 另,注意写出时的格式里要有分隔...
你的程序并没有写错。数据已经写入的文件,你下次也可以从文件里读入并还原这个链表。这只是一个字符的显示问题,你将一个int数据写入数据,显然占据四个字节,而当你用记事本打开时它就会根据你当前采用的字符集解释这四个字节的含义,然后再显示出来。但由于你存入的是整型数据而不是某个字符集的字符...
可能是windows的问题,我在Ubuntu下用楼主的代码是可以正常写入中文的,Win下把"w"改成"wb"试试呢 ...
51CTO博客已为您找到关于c语言将数据写入文件后乱码的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及c语言将数据写入文件后乱码问答内容。更多c语言将数据写入文件后乱码相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
这个函数以二进制形式对文件进行操作 按数据定义结构的写入保持数据结构的长度,对于数值类型,再用文本方式打开时表现为 乱码。例如float a=12345.67,写入文件后为4个字节,打开后不是文本表示的8个字节。
FILE *fp; //写入if((fp=fopen("database.txt", "w"))==NULL) return; fprintf(fp,"%s\t", name); //读 if((fp=fopen("database", "r"))==NULL){printf("Read error");return;} fscanf(fp,"%s\t", sname);fclose(fp);...