zoukankan      html  css  js  c++  java
  • 核心编程随笔1 分类: VC++ 2013-09-28 08:42 558人阅读 评论(0) 收藏

    最理想的比较字符串函数是CompareString(Ex)和CompareStringOrdinal。对于需要以符合用户语言习惯的方式向用户显示的字符串,请用CompareString(Ex)进行比较。CompareString函数的原型如下:
    int CompareString(
    LCID locale,                  //LCID GetThreadLocale();
    DWORD dwCmdFlags,
    PCTSTR pString1,
    int cch1,                                                                                                                                               PCTSTR pString2,
    int cch2);

    CompareString函数所用的标志
    标志                                          含义
    NORM_IGNORECASE
    LINGUISTIC_IGNORECASE       忽略大小写
    NORM_IGNOREKANATYPE      不区分平假名和片假名字符
    NORM_IGNORENONSPACE
    LINGUISTIC_IGNOREDIACRITIC 忽略non-spacing字符(译者注:non-spacing字符通常是一些读音符号)
    NORM_IGNORESYMBOLS       忽略符号
    NORM_IGNOREWIDTH            不区分同一个字符的单字节和双字节形式
    SORT_STRINGSORT              标点符号当成符号来处理

    Note 2:

    CompareStringOrdinal可以用来比较编程类的字符串(如路径名、注册表项/值、XML元素/属性等等),如下所示:
    int CompareStringOrdinal(
    PCWSTR pString1,
    int cchCount1,

    PCWSTR pString2,

    int cchCount2,
    BOOL bIgnoreCase);

    函数执行的是码位(code-point)比较,不考虑区域设置,所以速度很快。另外,由于编程类的字符串一般不会向最终用户显示,所以在这种情况下,最适合使用这个函数。注意,此函数只支持Unicode字符串。

    Note 3:

    CompareString(Ordinal)返回0表明函数调用失败,返回CSTR_LESS_THAN(定义为1)表明pString1小于pString2,返回CSTR_EQUAL(定义为2)表明pString1等于pString2,返回CSTR_GREATER_THAN(定义为3)表明pString1大于pString2。为方便起见,如果函数成功,你可以从返回值中减去2,使结果值与C运行库函数的结果值(-1,0和+1)保持一致。

     

    应该遵循的基本准则:

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    判断DataReader中是否有指定列
    datatable dateset 载体传递数据、存储过程
    抓取网页信息
    捕获异常 winform
    修改myeclipse的jsp模板
    包装设计模式的实现以改进BufferedReader中的readLine方法为例
    查询图书馆借书情况-代码
    查询四六级成绩
    Sqlyog增加试用期
    MVC笔记-模板页布局
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706781.html
Copyright © 2011-2022 走看看