写入TXT文件的是乱码
时间:2011-12-14
来源:互联网
fp1=fopen(F32_ShowSystime,"a+");
fwrite(&str1,wz,1,fp1);
fclose(fp1);
其中F32_ShowSystime是文件的路径,str1是一个CString类型的变量,已赋值。但是,打开这个TXT文件,里面显示的是乱码
小弟是一个菜鸟,向各位大虾求教。
作者: LuoSY880329 发布时间: 2011-12-14
改成:
fwrite((LPCTSTR)str1,wz,1,fp1);
作者: zhouzhipen 发布时间: 2011-12-14
fwrite(&str1,wz,1,fp1);
改成:
fwrite((LPCTSTR)str1,wz,1,fp1);
按照这样试了一下,还是乱码
作者: LuoSY880329 发布时间: 2011-12-14
C/C++ code
CStringA str2(str1); int wz=strlen(str2); fp1=fopen(F32_ShowSystime,"a+"); fwrite((LPCSTR)str2,wz,1,fp1); fclose(fp1);
作者: zgl7903 发布时间: 2011-12-14
FILE *pFile=fopen("1.txt","w"); char buf[22]="http://www.sunxin.org"; buf[21] = '\0'; fwrite(buf,1,22,pFile);
作者: chunyou128 发布时间: 2011-12-14
作者: shn521 发布时间: 2011-12-14
引用 1 楼 zhouzhipen 的回复:
fwrite(&str1,wz,1,fp1);
改成:
fwrite((LPCTSTR)str1,wz,1,fp1);
按照这样试了一下,还是乱码
如果还是乱码,可能你使用UNICODE编码
在文件头写入一个UNICODE 的BOM
或者使用#3楼的方法
作者: zhouzhipen 发布时间: 2011-12-14
改为
fwrite(str1,wz,1,fp1);
>>按照这样试了一下,还是乱码
有乱码是正常的,有些字符是不可以显示或者不可以读
比如字符串fwrite("\x08\x09\x10",3,1,fd);
写入文件不可以显示所以看似乱码
作者: gameslq 发布时间: 2011-12-14
引用 2 楼 luosy880329 的回复:
引用 1 楼 zhouzhipen 的回复:
fwrite(&str1,wz,1,fp1);
改成:
fwrite((LPCTSTR)str1,wz,1,fp1);
按照这样试了一下,还是乱码
如果还是乱码,可能你使用UNICODE编码
在文件头写入一个UNICODE 的BOM
或者使用#3楼的方法……
小弟菜鸟,请问“在文件头写入一个UNICODE的BOM”是怎么做的
作者: LuoSY880329 发布时间: 2011-12-14
====================
哦,理解错了,CString类型你去取地址是不对的,它是MFC的类,而不是内置的变量,CString的实现不是这样的,它的数据没存在它本身的地址上,而是它指向的一个堆空间上
作者: superhanxin5 发布时间: 2011-12-14
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28