zoukankan      html  css  js  c++  java
  • WIN API – 1. 程序国际化设计

    1. Win32程序中标准字符、宽字符的定义

    1.1 标准字符

    定义字符、字符串等的例子如下:

      char c=’a’;

      char *c=”hello”;

      char c[]=”world”;

      strlen();

    1.2 宽字符

    在头文件WCHAR.H中定义。

      typedef  unsigned  short  wchar_t;

    UNICODE或宽字符例子如下:

      wchar_t c=’a’    (或L’a’)

      wchar_t c=L”hello”;

      wchar_t c[]=L”world”;

      wcslen();

    2. 统一源码的方法

    因为有不同定义的字符串,可能需要维护两份源代码,一份用于处理ASCII字符串类型,另一份用于处理UNICODE类型字符串,为了方便维护源代码,只维护一份源代码,有多种方法。

    2.1 法一

    使用VC的TCHAR.H文件,该文件不是ANSI C标准。

    通过文件中的 _UNICODE 标识符,判断字符串类型。

    无 _UNICODE 时的含义

    有 _UNICODE 时的含义

    __T(x)

    别名:_T(x)、_TEXT(x)

    x

    L”x”

    TCHAR

    char

    Wchar_t

    _tcslen

    strlen

    wcslen

    2.2 法二

    使用WINDOWS.H头文件(此头文件将包含WINNT.H文件,具体信息将在此文件中定义)

    通过文件中的 UNICODE标识符,判断字符串类型。

    新的名称

    Char

    CHAR

    Wchar_t

    WCHAR

    无 UNICODE 时的含义

    有UNICODE 时的含义

    __TEXT(x)

    别名:TEXT(x)

    x

    L”x”

  • 相关阅读:
    Session cookie 原理
    asp.net core service mesh
    js 常用库
    asp.net core consul
    asp.net core polly
    asp.net core ocelot
    第十五章 享元模式 Flyweight
    第十四章 策略模式 Strategy
    mysql 主从复制
    mysql 执行计划
  • 原文地址:https://www.cnblogs.com/mutou3221/p/4203636.html
Copyright © 2011-2022 走看看