我还需要区域设置感知大小写转换。 .NET 在这方面做得很好。我们 C++ 程序员必须为这样的事情等待 100 年吗?我知道 ICU 库,但它有 20MB,我什至无法将我的代码与其链接起来......总而言之,我想结束这场噩梦......
最佳答案
您可能希望使用操作系统提供的 API。 Windows 具有 NLS API,可处理特定于语言环境的字符串比较和大小写转换。
独立的 Unicode 库是 ICU 和 IConv。两者都需要一些时间来学习。数据文件也相当大 - 预计携带 > 10M 的数据文件以支持大多数语言。
顺便说一句,您的链接错误通常是由于您指定了静态库但导入的函数具有指定 DLL 的 dllimport 属性。默认情况下,ICU 头文件在其 API 上声明 dllimport。在包含 ICU header 之前,您需要定义一个宏。
关于c++ - 是否有可以在 Win32 和 MacOSX 系统上使用的跨平台 unicode 字符串类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5051601/