如何插入复选标记"✓"在使用VS2010的c ++编程中的std :: string中

时间:2014-03-20 12:30:43

标签: c++ visual-studio-2010 visual-c++

在我的一个应用程序中,我用c ++开发,我必须显示"✓"标记。为此我需要先在std :: string或char中插入相同的内容。但是当我这样做时,我会得到一个"?"标记为输出。我使用VS2010进行编码。请建议如何解决相同问题。提前谢谢。

1 个答案:

答案 0 :(得分:2)

似乎存在一些基本的误解。

复选标记字符是Unicode 0x2713。您不能将其作为单个字符存储在std :: string中。 char的最大值是0xff(255)。它不合适。

如果您正在使用C ++ for Windows开发GUI,那么我猜MFC。但是,如果您使用的是std :: string,那么可能并非如此。一些选择:

  1. 对于MFC,您可以在UNICODE模式下重建应用程序。然后字符很短(16位),你的复选标记就可以了。
  2. 您可以使用std :: wstring而不是string。这意味着对现有代码的更改。
  3. 您可以使用UTF-8,它用多字节序列替换字符。即使您认为自己知道自己在做什么,也不推荐在Windows中使用。非常不友好。
  4. 在任何情况下,如果您使用的是GUI和对话框,则必须确保它们是Unicode对话框,否则什么都不会起作用。

    通过更多细节,我们可以提供更具体的建议。