WCHAR的简单操作

  • Post author:
  • Post category:其他


WCHAR 是双字节类型,一般它用来存储那些双字节而不是单字节字符.较长的字节数可以支持

在应用程序的国际发布版本里所使用的扩展字符集(如常用的Unicode字符集).

比如说:在中文系统下开发的软件,当应用到日文操作系统时,如果没有采用Unicode模式,那
么程序是无法正常运行的;或者反过来也是一样的,对于中文字符,或是日文字符,如果采用单字节
存储,将会显示乱码,此时只有采用双字节来实现正常存贮。
—————————————————————————

============Sample============

WCHAR   wchTest01[256] = {0};

WCHAR   wchTest02[256] = {0};

size_t     nLen = 0;
//内存拷贝

nLen = wcslen( wchTest02 );

wmemcpy( wchTest01, wchTest02, nLen*2 );
//追加字符

nLen = wcslen( wchTest01);

wcscat_s( wchTest01, nLen*2, _T(“123456”) );
—————————————————————————

※ 注意,由于是双字节类型,所以sizeof()的返回值是原来的2倍,如果wmemcpy()

的参数传入sizeof(wchTest02),那么将会发生内存溢出,导致意外的错误。
不过,双字节操作起来还真是麻烦啊…
困惑



版权声明:本文为jqandjq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。