• 您的位置我爱Aspx >> VC.Net >> WindowsCE下Unicode和Ansi字符间互相转换的例子
  • WindowsCE下Unicode和Ansi字符间互相转换的例子

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:49:40  关键字:
  • unsigned char p[129]; //接受缓冲区

    ZeroMemory(p,sizeof(p)); //接收缓冲区清零

    this->Receive(p,128); //接收128个字节

    int widecharlen=MultiByteToWideChar( //计算从Ansi转换到Unicode后需要的字节数

    CP_ACP,

    MB_COMPOSITE,

    (char*)p, //要转换的Ansi字符串

    -1, //自动计算长度

    0,

    0

    );

    CString tmpstr;

    tmpstr.GetBuffer(widecharlen); //为转换后保存Unicode字符串分配内存

    MultiByteToWideChar( //从Ansi转换到Unicode字符

    CP_ACP,

    MB_COMPOSITE,

    (char*)p,

    -1,

    tmpstr.GetBuffer(widecharlen), //转换到tmpstr

    widecharlen //最多转换widecharlen个Unicode字符

    );

    m_clientdlg->m_listbox.InsertString(0,tmpstr); //插入到listbox中显示

    CCeSocket::OnReceive(nErrorCode);

    }

    注意:以上代码都是在WindowsCE样板机上运行,PC端发送和接收到的字符均为Ansi格式的.把以上代码稍微修改一下用到自己的产品中,就可以利用以前的协议无缝连接PDA和PC.

    以上代码在MicroSoft Embed Visual C++ 3.0 + 联想天玑5100(WindowsCE3.0)

    + Eagle Tec 10M CF卡通过.

    2003.Feb.18th,5:25PM,Roving in ShenZhen...

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:实战DeviceIoControl 之三:制作磁盘镜像文件
    下一篇:关联自己的应用程序到右键菜单中
  • 相关文章