根据JIS表对数组进行排序. [英] Sort Array acording to JIS table.

查看:212
本文介绍了根据JIS表对数组进行排序.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在c ++中根据JIS表顺序对数组进行排序.

I need to sort array according to JIS table order in c++.

任何人都可以帮助我.

我启动了一个链接,需要在c#中对数组进行排序.

I initiated a link in which i need sorting array in c#.

http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/ab190074-4a2e-46a2-9098-68bcdfa524ab

http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/ab190074-4a2e-46a2-9098-68bcdfa524ab

我在那个论坛上问了这个问题,Liu用正确的答案很好地回答了我,但目前我需要用C ++来完成同样的事情.

I asked this question in that forum and Liu replied me well with proper answer but currently i needed same thing to be done in C++.

我已经在论坛结束时添加了用C ++编写的代码段(上面提供了链接.).

I have added code snippet written in C++ at the end of forum(link provided above.).

谢谢.

 

推荐答案

C ++中的代码

Code in C++

bool SortCompareI18N(CSEString& left,CSEString& right)

{

     _locale_t lCurLocale = _get_current_locale();

     bool bRetVal = false;

     int lSortCompareVal = 0;

     lSortCompareVal = _tcscoll_l(left.c_str(),right.c_str(),lCurLocale);

     if(lSortCompareVal< = 0)

     {

           bRetVal = true;

     }
    返回bRetVal;

}
 

void GetLocalSortedVector(std :: vector< CSEString>& sInSortedVec)

{

     std :: sort(sInSortedVec.begin(),sInSortedVec.end(),SortCompareI18N);

}

bool SortCompareI18N( CSEString &left, CSEString &right )

{

      _locale_t lCurLocale = _get_current_locale();

      bool bRetVal = false;

      int lSortCompareVal = 0;

      lSortCompareVal = _tcscoll_l(left.c_str(), right.c_str(), lCurLocale);

      if(lSortCompareVal <= 0)

      {

            bRetVal = true;

      }
      return bRetVal;

}
 

void GetLocalSortedVector(std::vector<CSEString>& sInSortedVec)

{

      std::sort(sInSortedVec.begin(), sInSortedVec.end(), SortCompareI18N);

}


这篇关于根据JIS表对数组进行排序.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆