jsjscool
驱动牛犊
驱动牛犊
  • 注册日期2011-06-01
  • 最后登录2011-07-28
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1391回复:1

【求助】windows驱动编程文件读写问题

楼主#
更多 发布于:2011-06-27 13:30

如果我想用ZwWriteFile函数在文件中写入我自己定义的“汉字”,例
 UNICODE_STRING test;
 RtlInitUnicodeString( &test,
   L"我是jsjscool");
我的方法是
 RtlFillMemory(pBuffer,1024,0xAA);//覆盖内存
 RtlCopyMemory (pBuffer,&test,sizeof(test));//复制自己定义的test测试数据
 ZwWriteFile(*,NULL,NULL,NULL,*,pBuffer,1024,NULL,NULL);//自己定义的部分参数以*号代替


运行的结果在txt文件中是乱码……请问我要怎样用内核函数才能将中文写入txt文件。
自己发现乱码原因如下:
写的时候是这样写的……比如汉字“我”的GBK编码是0xCED2,写进去时只取D2(末尾两位),所以是写的时候就有问题了。
该怎么解决写中文的问题呢??
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
沙发#
发布于:2011-06-28 14:37
RtlCopyMemory (pBuffer,&test,sizeof(test));你复制的是啥?
test.buffer才是文字内容~
另外UTF-8的TXT是有个头结构的~~嘿嘿~
没有战争就没有进步 X3工作组 为您提供最好的军火
游客

返回顶部