比较类似MySQL的MFC CString
Compare MFC CString like MySQL compares
MySQL使用与CString::CompareNoCase
不同的比较运算符进行排序,这导致我遇到了一些难以检测的错误。主要问题似乎是令牌_
。
如何将CString与另一个CString进行比较,就像MySQL在使用ORDER BY field
时比较字符串一样?
编辑:MySQL ORDER BY BINARY field
是否使用了与CString::operator<
完全相同的比较函数?我目前的方法使用SORT BY field
和CString::CompareNoCase
,如前所述,它们后面有不同的比较运算符。
CString::CompareNoCase()
使用比较。MySQL使用排序规则。
比较是一种严格的数字比较。语言规则仅用于进行大小写转换。(在某些语言中,进行大小写转换会导致问题。这不是一个好的选择。)排序规则使用语言规则,例如忽略破折号。
MySQL似乎有自己的内置排序规则表,所以只有两种方法可以做到与MySQL完全一样:
- 从MySQL中提取代码并在代码中使用(非常困难,可能存在许可问题)
- 将字符串发送到MySQL服务器,让服务器为您订购
另一种选择是使用内置在Windows中的排序规则函数来更接近MySQL的行为。使用CString::Collate()
而不是CString::CompareNoCase()
。
如果Windows排序规则函数不能满足您的需求,您也可以使用开源ICU库中内置的排序规则函数。
相关文章:
- __int64 CString 返回错误的值 - C++ MFC
- 可视化 如何将 CString 值列表添加到 MFC C++ 中的组合框中?
- 如何在 MFC 中分离 CString
- 如何在 MFC 中创建"CArray<CArray<CString>>& results"?
- 在Visual C++6.0 MFC中,CString是否可以像简单类型而不是类一样安全地处理
- 比较类似MySQL的MFC CString
- 与 MFC 的 CString 连接最合适的方式是什么
- 有MFC项目.我需要使其独立于 MFC.我需要CString的克隆
- CString 以在 MFC 中编辑控件
- CString to LPWSTR in mfc
- (EDIT:MFC)CString类的对象的内部结构是什么
- 将 MFC 的 CString 转换为 ASCII 和 UNICODE 的 int
- C++ MFC double to CString
- 使用CString的MFC TextOut失败
- MFC如何从另一个类获得CString到CRegSettings类
- MFC的CString的奇怪行为
- 将MFC CString转换为无符号整数
- c++ MFC:从Char*创建CString时内存泄漏
- 转换从CString数组到整数数组在MFC
- 如何将ATL/MFC CString转换为QString