在C中将宽字符串转换为小写

前端之家收集整理的这篇文章主要介绍了在C中将宽字符串转换为小写前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在C中将wchar_t字符串从大写转换为小写?

该字符串包含日语,中文,德语和希腊字符的混合.

我想过使用towlower ……

http://msdn.microsoft.com/en-us/library/8h19t214%28VS.80%29.aspx

..但文件说:

The case conversion of towlower is locale-specific. Only the characters relevant to the current locale are changed in case.

编辑:也许我应该描述我在做什么.我收到用户的Unicode搜索查询.它最初采用UTF-8编码,但我将其转换为widechar(我的措辞可能不对).我的调试器(VS2008)在“可变快速监视”中正确显示日语,德语等字符.我需要在Unicode中查看另一组数据并查找搜索字符串的匹配项.虽然当搜索区分大小写时,这对我来说没有问题,但是在不区分大小写的情况下更难以解决问题.我(可能是天真的)解决问题的方法是将所有输入数据和输出数据转换为小写,然后进行比较.

解决方法

如果您的字符串包含所有这些字符,则代码集必须基于Unicode.如果正确实现,Unicode(第4章’ Character Properties‘)定义字符属性,包括字符是大写还是小写映射,依此类推.

给定前导码,来自< wctype.h>的towlower()函数.是正确的工具.如果它不能完成这项工作,您将与您的供应商讨论QoI(实施质量)问题.如果您发现供应商没有响应,请查看备用库.在这种情况下,您可以考虑ICU(Unicode的国际组件).

原文链接:https://www.f2er.com/c/114614.html

猜你在找的C&C++相关文章