wchar_t

代码:

#include <string.h>
#include <stdio.h>

int main()
{
    char* s = "abc中文def";
    int n = strlen(s);
    wchar_t* s2 = L"abc中文def";
    int n2 = wcslen(s2);

    printf("n=%d, n2=%d\n", n, n2);

    return 0;
}

运行结果:

n=10, n2=8
Press any key to continue

两个字符串对应的内存:

// wchar_t*
00422F7C  61 00 62 00 63 00 2D 4E 87 65  a.b.c.-N噀
00422F86  64 00 65 00 66 00 00 00 00 00  d.e.f.....
00422F90  00 00 00 00 00 00 00 00 00 00  ..........

// char*
0042201C  61 62 63 D6 D0 CE C4 64 65 66  abc中文def
00422026  00 00 00 00 00 00 69 33 38 36  ......i386

参考:

  • 《Windows程序设计》第二章:An Introduction to Unicode
  • ANSI-C标准
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值