dgwei
驱动牛犊
驱动牛犊
  • 注册日期2007-01-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1218回复:2

虚拟打印机的pstro结构

楼主#
更多 发布于:2007-05-16 10:34
虚拟打印机中,函数DrvTextOut有一个STROBJ结构的参数pstro,这个参数里记录了字符串的内容。我想将这内容写到另一个文件中,于是用了CreateFile和WriteFile函数,想将pstro->pwszOrg写到文件中,我是用wcslen(pstro->pwszOrg)函数得到pstro->pwszOrg所指向的字符串的长度。可是发现写到文件中的内容有乱码。是怎么回事呢?还有,我查找wcslen(pstro->pwszOrg)输出的都是奇数,当我实际要打印的字符串是6时,它输出的长度是7;可假若字符串长度是5时,它输出没问题。请问这又是怎么回事呢?
例如 我要打印机的文件内容是:
12331
dhgfdh
adf
sfdg
dfs

11111
11111
121212
人是好的a
坏人就是坏人

那我写到文件中的内容变成了:
12331 2 dhgfdhG h adf d sfdgV f dfs  11111 11111 1 121212  人是Ta是 是坏人就R 人

请指点。
hjy82919
驱动牛犊
驱动牛犊
  • 注册日期2007-03-15
  • 最后登录2009-02-06
  • 粉丝1
  • 关注0
  • 积分240分
  • 威望25点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-04 17:05
    那是因为你的长度错误。用pstro->cGlyphs,而pstro->cGlyphs是以字为单位的,写文件里应该用pstro->cGlyphs*2。
hjy82919
驱动牛犊
驱动牛犊
  • 注册日期2007-03-15
  • 最后登录2009-02-06
  • 粉丝1
  • 关注0
  • 积分240分
  • 威望25点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-04 17:07
      我也遇到这个问题,上面就是我解决的方法。如果还是不行,那楼主就是别的地方有问题了。
游客

返回顶部