核心编程随笔1

简介: <p><span style="font-size:18pt">最理想的比较字符串函数是CompareString(Ex)和CompareStringOrdinal。对于需要以符合用户语言习惯的方式向用户显示的字符串,请用CompareString(Ex)进行比较。CompareString函数的原型如下:</span><br><span style="font-size:18pt"><e

最理想的比较字符串函数是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)保持一致。

 

应该遵循的基本准则:

相关文章
|
8月前
|
Java 编译器 C++
C++入门指南:类和对象总结笔记(下)
C++入门指南:类和对象总结笔记(下)
69 0
|
8月前
|
编译器 C语言 C++
C++入门指南:类和对象总结笔记(中)
C++入门指南:类和对象总结笔记(中)
70 0
|
8月前
|
C++
C++核心编程三:函数提高(持续更新)
C++核心编程三:函数提高(持续更新)
|
存储 编译器 C++
(黑马)C++核心编程笔记(下)
(黑马)C++核心编程笔记
110 0
(黑马)C++核心编程笔记(下)
|
存储 编译器 C语言
C++从入门到精通(第二篇) :C++的基础和灵魂:类和对象(上篇)
C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。
142 0
C++从入门到精通(第二篇) :C++的基础和灵魂:类和对象(上篇)
|
编译器 调度 C++
C++从入门到精通(第四篇) :C++的基础和灵魂:类和对象(下篇)
在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值
126 0
C++从入门到精通(第四篇) :C++的基础和灵魂:类和对象(下篇)
|
程序员 编译器 数据安全/隐私保护
(黑马)C++核心编程笔记(上)
(黑马)C++核心编程笔记
92 0
(黑马)C++核心编程笔记(上)
|
存储 安全 编译器
(黑马)C++核心编程笔记(中)
(黑马)C++核心编程笔记
323 0
(黑马)C++核心编程笔记(中)
|
开发框架 IDE .NET
☀️ 学会编程入门必备 C# 最基础知识介绍(一)
前言 C# 🔥 C# 简介💫 C# 强大的编程功能👍 C# 环境👏 .Net 框架(.Net Framework)💪 C# 的集成开发环境(Integrated Development Environment - IDE)👐 在 Linux 或 Mac OS 上编写 C# 程序🙏 C# 程序结构👼 C# Hello World 实例🙉 编译 & 执行 C# 程序🙊 C# 有用的资源👀

热门文章

最新文章