在现代Delphi(例如2010-XE3)中,有多种比较字符串的方法:
-“<=”运算符,解析为UStrCmp / LStrCmp -CompareStr -AnsiCompareStr 请问有人能提供(或指向)这些方法的原理描述吗?
到目前为止,我已经知道AnsiCompareStr在Windows上调用CompareString,这是一种“文本”比较(即考虑unicode组合字符等)。简单的CompareStr不会这样做,似乎会进行二进制比较。
但是CompareStr和UStrCmp之间有什么区别?UStrCmp和LStrCmp之间有什么区别?它们是否都产生相同的结果?这些结果在Delphi版本之间是否会更改?
我之所以问这个问题,是因为我需要一个始终产生相同结果的比较方法,以便使用一个Delphi版本构建的应用程序中的索引与使用另一个版本构建的代码保持一致。
-“<=”运算符,解析为UStrCmp / LStrCmp -CompareStr -AnsiCompareStr 请问有人能提供(或指向)这些方法的原理描述吗?
到目前为止,我已经知道AnsiCompareStr在Windows上调用CompareString,这是一种“文本”比较(即考虑unicode组合字符等)。简单的CompareStr不会这样做,似乎会进行二进制比较。
但是CompareStr和UStrCmp之间有什么区别?UStrCmp和LStrCmp之间有什么区别?它们是否都产生相同的结果?这些结果在Delphi版本之间是否会更改?
我之所以问这个问题,是因为我需要一个始终产生相同结果的比较方法,以便使用一个Delphi版本构建的应用程序中的索引与使用另一个版本构建的代码保持一致。