WIN API – 1. 程序國際化設計

 

1. Win32程序中標準字符、寬字符的定義

 

1.1 標準字符

定義字符、字符串等的例子以下:spa

  char c=’a’;ci

  char *c=」hello」;字符串

  char c[]=」world」;源碼

 

  strlen();table

1.2 寬字符

在頭文件WCHAR.H中定義。程序

  typedef  unsigned  short  wchar_t;方法

 

UNICODE或寬字符例子以下:top

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

  wchar_t c=L」hello」;di

  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」

相關文章
相關標籤/搜索