我有一个使用C#和原生C++ (MFC)的遗留应用程序。我需要对两边的字符串进行排序,使它们保持相同的顺序。问题是,在使用.NET的string.Compare方面,它以“特定于区域性”的方式出现,因此,例如,"A_B“在"A11”之前排序,而在MFC中,使用operator <时,"A11“排序在"A_B”之前。
我知道我可以将.NET更改为使用顺序排序,但这可能会破坏一些外语排序。我想要的是更改MFC排序,使其以“特定于区域性”的方式排序,就像.NET侧一样。我在MFC中找到了CompareStringEx,但我想知道是否存在Win32解决方案,还是缺少了其他解决方案。
提前谢谢。
发布于 2015-11-04 16:37:50
MFC的CString类有Collate和CollateNoCase,用于特定于地区的比较.我还没有对它们进行测试以确保它们符合.NETs排序规则,但我希望两者都使用相同的Win32函数,在这种情况下,它们显然是匹配的。
https://stackoverflow.com/questions/33527024
复制相似问题