首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

中文字符串是如何比较的

2012-08-15 
中文字符串是怎么比较的比如说lstrcmp 上,龙,中文系统下比较结果是1,但是在英文系统下却是-1,感觉是在中文

中文字符串是怎么比较的
比如说lstrcmp 上,龙,中文系统下比较结果是1,但是在英文系统下却是-1,感觉是在中文系统下按照拼音来比较,而英文系统下使用字符编码来比较。请问为何有这样的区别,如何让软件的中文列排序功能能在中英文下都是按拼音排序的?

代码如下
procedure TForm3.btn2Click(Sender: TObject);
var
  lstr: string;
  lstr1: string;
  re: Integer;
begin
  lstr := '龙';
  lstr1 := '上';
  re := lstrcmpW(PWideChar(lstr), PWideChar(lstr1));
  ShowMessage(IntToStr(re));
end;

中文下结果是-1,英文系统下结果是1。

而类似的代码,使用C++写出来,为什么在两个系统下没有区别,都是-1。

[解决办法]
这里有个例子,可以下载看看:
http://download.csdn.net/download/hlh2002/3777075

热点排行