为什么write写入的文件变成乱码?
发布网友
发布时间:2022-04-30 23:29
我来回答
共2个回答
热心网友
时间:2022-06-20 10:30
文件编码和文本编码检查一下。看一下函数文档 支持的编码类型。win和Linux有时候是不一样的
热心网友
时间:2022-06-20 10:31
记事本打开能看到正常显示的文件里保存的是字符,而你保存到文件的不是字符,所显示就是乱码,要用记事本打不是乱码,那么在保存到数据之前要先把数据转换为字符再保存进文件。
请问,C++ WRITE()为什么写进文件的是乱码,请指教
写的是数值而不是字符串,所以看到会是“乱码”用CString::Format将数值转换为字符串就可以了,也可以使用_itoa
为什么我的writefile写入文件的数据是乱码
这个不是你程序的问题,是Windows记事本的Bug,因为程序输出的某些字符触发了这个bug,记事本把文件当成unicode编码处理,结果乱码。把这句 ofile<<a[i]<<" ";换了一下顺序改成 ofile<<" "<
为什么write写入的文件变成乱码?
文件编码和文本编码检查一下。看一下函数文档 支持的编码类型。win和Linux有时候是不一样的
关于C++文件操作中的write函数跟写入文件数字乱码而字符串不乱码的问题...
write写入的是二进制块,不是文本,自然也没有行的概念,不存在换行一说,用记事本等文本查看器打开当然是乱码。要以文本的方式写数据,你应该使用<<操作符而不是write函数。
c语言 fwrite出现的乱码
在MSDN中fwrite的解释是Writes data to a stream.你写入的是int型的数组,以二进制存放在文件中,当你用文本文档打开的时候是当作字符串识别的,看到的就成了乱码。若你想看到写入的数字,可用fprintf,这样是以字符串写入
用release编译后,Cfile:write写入文件的时候,中文都变成了乱码
file.Write(string,wcslen(string));我怀疑是这一句有问题 你用个定长的字符串,并且用常数指定长度写入试试
fatfs f write函数,我要写入一个unsigned short int 类型的数据,即一次...
参数void*的为你要写入的内容,如果你的整形为unsigned short int num = 23;调用wirte函数的时传参数 为:write(handle , &num, sizeof(unsigned short int));用fwrite也差不多 分析 1、你写进去文件的num是直接将的地址所存放的数据写进文件的,不是把他格式化成字符串之后写进文件的 2、如此...
C语言文件输出时,输入数据后为什么会出现乱码
struct studentType),1,fp)!=1) 简单看了下,这行有问题,往文件里写的时候是把一个字符串写进去,stud[i]是一个struct,强行把它序列化的话,内存中的存储不是连续的,这样写就会写入一些没用的数据,导致出错。考虑一下怎么把struct序列化,再看看struct的中的字节是怎么对齐的,建议而已 ...
C++程序能运行 但存入txt文件中的文本打开后乱码,这个问题是怎么解决...
既然你用了c++以及fsteam来操作,那么字符串也转换成string,然后用<<来操作。file.write((char*)&book[i],sizeof(book[i]))这句就问题很大。book[i]是什么类型?如果是字符串指针,那么字符串指针的指针自然得不到正确的文本的位置。如果book[i]是string,sizeof也不能得到正确的大小。如果book[...
python用xlwt向xls中写入中文,显示乱码该怎么解决
乱码是编码问题,微软的excel默认打开的编码是gbk,如果你写入的数据是非gbk编码的,那么使用微软excel打开就会出现乱码的情况。解决方法为:对要写入的数据编码为gbk之后在进行写入,在python中的简单的操作方法如下:1.源数据为unicode编码,则直接使用encode("gbk")即可转换编码;str = u"我爱中国共产...