• Unicode与ANSIC


    unicode字符的数据类型
    type unsigned short wchar_t
    如定义99个字符为unicode的字符串和一个0结尾
    wchar_t szbuffer[100]
    unicode与ANSIC 函数的对照
    char * strcat(char *,const char*);
    wchar_t *wcscat(wchar_t*,const wchar_t*);

    int strcmp(const char*,const char *);
    int wcscmp(const wchar_t*,const wchar_t*);

    char * strcpy(char *,const char*);
    wchar_t * wcscpy(wchar_t*,const wchar_t*);
    若要定义一个A N S I / U n i c o d e通用的字符串数组,请使用下面的T C H A R数据类型。如果定
    义了_ U N I C O D E,T C H A R将声明为下面的形式:
    typedef wchar_t TCHAR
    如果没有定义_ U N I C O D E,则T C H A R将声明为下面的形式:
    typedef char TCHAR
    使用该数据类型,可以像下面这样分配一个字符串:

    TCHAR szstring[100];
    也可以创建对字符串的指针:

    TCHAR szstring="ERROR"
    不过上面这行代码存在一个问题。按照默认设置, M i c r o s o f t公司的C + +编译器能够编译所
    有的字符串,就像它们是A N S I字符串,而不是U n i c o d e字符串。因此,如果没有定义
    _ U N I C O D E,该编译器将能正确地编译这一行代码。但是,如果定义了_ U N I C O D E,就会产生
    一个错误。若要生成一个U n i c o d e字符串而不是A N S I字符串,必须将该代码行改写为下面的样
    子:

    TCHAR szstring=L"ERROR";
    字符串(literal string)前面的大写字母L,用于告诉编译器该字符串应该作为U n i c o d e字符
    串来编译。

  • 相关阅读:
    [BZOJ 3270] 博物馆
    [BZOJ 3551] Peaks加强版
    [HNOI 2009] 梦幻布丁
    [NOI 2018] 归程
    [YNOI 2016] 掉进兔子洞
    [SCOI 2014] 方伯伯的玉米田
    Codeforces Round #545 (Div. 2)
    初涉Min-Max容斥【在更】
    【费用流】bzoj1834: [ZJOI2010]network 网络扩容
    【最大权闭合子图】bzoj4873: [Shoi2017]寿司餐厅
  • 原文地址:https://www.cnblogs.com/tianlangshu/p/1989499.html
Copyright © 2020-2023  润新知