【问题标题】:Convert WCHAR string to lower case C将 WCHAR 字符串转换为小写 C
【发布时间】:2012-03-28 08:47:26
【问题描述】:

我有一个代码:

WCHAR * cmp = L"TEST";

需要一个能以小写形式返回此字符串的函数!

谢谢!

【问题讨论】:

  • 祝你好运,用可预测的结果修改该字符串文字。
  • 这是一个返回小写字符串的函数:WCHAR *lowerCase(void) { return L"test"; }
  • 我已经在这里为你回答了这个问题:stackoverflow.com/a/9656257/712358。但是,您不能将 cmp 传递给该函数,因为它是只读的。
  • Mike Kwan,我尝试使用你的函数,但编译器抛出错误 LNK2001: unresolved external symbol __imp_iswlower

标签: c string lowercase


【解决方案1】:

根据WCHAR,您可能正在使用(某些版本的)VC++。在这种情况下,您想使用_wcslwr_wcslwr_s。您通常想在宽字符串上使用tolowertoupper

【讨论】:

  • 他可能想使用_wcslwr :P 您可能还想补充一点,towlowertowupper 是您所说的两个多字节函数的 Unicode 等价物。
  • @MikeKwan:_wcslwr 用于宽字符串,而不是多字节字符串。我考虑过提到 towlower,但我不记得包含它的 MS 编译器(虽然我有一段时间没看过了——现在可能有)。
  • 我发誓我在您的原始答案中阅读了_wcsuprtowlower 包含在 <ctype.h><wchar.h> 中。
  • 谢谢!我添加了 但现在它抛出:error LNK2001: unresolved external symbol __imp_iswctype 。我尝试添加 但此文件未包含在 WDK
  • WDK 有很多常规 SDK 中缺少的块。
猜你喜欢
  • 2015-05-03
  • 2013-10-22
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 2010-12-09
  • 2011-05-12
  • 2013-11-08
  • 1970-01-01
相关资源
最近更新 更多