2008年12月31日 星期三

ANSI & Unicode In VC

Microsoft 將 printf 函數增加了一些特殊的類型。
其中有些類型尚未被ANSI C採用。新類型使你能夠很容易地對ANSI和Unicode字元和字串進行混合和匹配。
作業系統的wsprintf函數也得到了增強。
下面是一些例子(請注意大寫S和小寫s的使用)

char szA[100]; //An ANSI string buffer
WCHAR szW[100]; //A Unicode string buffer

// Normal sprintf: all strings are ANSI
sprintf(szA,"%s","ANSI Str");

// Converts Unicode string to ANSI
sprintf(szA,"%S",L"Unicode Str");

// Normal swprintf: all strings are Unicode
swprintf(szW,L"%s",L"Unicode Str");

// Converts ANSI string to Unicode
swprintf(szW,L"%S","ANSI Str");

簡單來說 當前後文字編碼不同的時候S就必須是要大寫.

沒有留言:

張貼留言