smile_and_ovo 2022-02-23 14:38 采纳率: 0%
浏览 286

WriteFile写成的文件乱码

想把一个variant类型的变量写入文件中,如果按以下代码运行,可以写到文件里但是是乱码,奇怪的是可以把写入的那个变量的内容读出来,读的还是正确的。

VARIANT str;

VariantInit(&str);

str.vt=VT_BSTR;

str.bstrVal=SysAllocString(_T(iii));

LPWSTR szPath=_T(F:\\write.txt);

HANDLE hFile=CreateFile(szPath,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);

DWORD dwBytesWritten=0;

WriteFile(hFile,&str,sizeof(VARIANT),&dwBytesWritten,NULL);

CloseHandle(hFile);

//读取

hFile=CreateFile(szPath,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

DWORD dwBytesRead=0;

VARIANT temp;

VariantInit(&temp);

ReadFile(hFile,&temp,sizeof(VARIANT),&dwBytesRead,NULL);

CloseHandle(hFile);

 

直接运行以上代码,先写一边再打开,查看temp的值发现读取的就是iii,但是打开test.txt文件查看,里面是乱码。

如果直接readfile,打开上一次程序运行生成的test.txt文件,查看temp的值显示empty或者是“”或者是<读取字符串字符时出错>,每次运行结果都不一样,但是都不能读出iii。

  • 写回答

1条回答 默认 最新

  • qllaoda 2022-02-23 14:44
    关注

    因为写的并不是文本数据,你用文本工具打开,当然就是乱码。如果你要想打开文件也能看,需要把变量先转换成字符串

    评论

报告相同问题?

问题事件

  • 创建了问题 2月23日

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP