c++ - 检测字符串中的 Unicode 字符

标签 c++ visual-c++

我有字符串输入。我想检查所有字符并提示用户输入字符串中是否有任何 Unicode 字符。

如何在 C++ 中执行此验证。

例如。在记事本中,如果您输入任何 Unicode 字符并尝试使用 ANSI 编码保存它,它会提示有关 Unicode 字符。我想做类似的验证。

最佳答案

您可以使用 IsTextUnicode 函数。据我所知,这是记事本使用的功能。

MSDN 链接: http://msdn.microsoft.com/en-us/library/windows/desktop/dd318672%28v=vs.85%29.aspx

只需插入 NULL 作为最后一个参数。

#include <string>
#include <Windows.h>

int main()
{
  std::string s = "Hallo!";
  std::wstring ws = L"Hello!";

  if (::IsTextUnicode(ws.c_str(), ws.length(), NULL) == 1)
  {
    // is unicode
    int i = 0;
  }
  else
  {
    // no unicode
    int i = 1;
  }

  return 0;
}

关于c++ - 检测字符串中的 Unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23082819/

相关文章:

C++ operator<< gtest AssertionFailure 编译错误

c++ - 无法将模板参数传递给 std::list<T>::iterator

c++ - x64 转换后指针截断

c++ - VC++应用程序中的实例

windows - 学习C++(Linux+QtCreator)我应该升级到Windows+VisualC+VisualAssist吗?比较如何?

c++ - Win32 事件与信号量

c++ - 调用函数并传递具有派生类型的指针引用时出错

c++ - 将 oracle 表动态导出到平面文件

c++ - "Does not name a type"错误,即使我在分配值之前声明正确

c++ - DirectShow 过滤器图在某些机器上永远不会完成