是什么导致这个奇怪的符号出现在数组的开头?
使用Unicode字符和多字节字符集。它阻止我将它与另一个阵列进行比较。
编辑:Google在研究“比较Unicode字符串c ++”时没有给我任何帮助。
我还查看了使用wchar_ts发生的历史怪异符号,它们也是稀疏的。
编辑:Visual Studio 2010,Windows 7,代码无法显示。它是结构化存储文件流名称的一部分。
我已经提供了所有的信息。我正在打开并枚举结构化存储文件,并且一旦枚举了该流,该wchar_t数组就是pwcsName值。我正在寻找一种方法来将它与“SummaryInformation”进行比较。那个符号挡路了。
我想到的一个可能的解决方案是从数组中的第二个char开始创建一个子字符串,但我不确定如何去做。
答案 0 :(得分:1)
在此处阅读有关Windows结构化存储的信息:
http://msdn.microsoft.com/en-gb/library/windows/desktop/aa380020(v=vs.85).aspx
特别是名称参数: -
指向宽字符以空字符结尾的Unicode字符串的指针 包含新创建的流的名称。可以使用该名称 稍后打开或重新打开流。名称不得超过31 字符长度,不包括字符串终止符。 000 通过01f字符,作为第一个字符 流/存储名称,保留供OLE使用。这是一个复合词 文件限制,而不是结构化存储限制。
所以它是某种形式的保留OLE名称。但是,我对结构化存储知之甚少,无法帮助你。
答案 1 :(得分:0)
该符号用于显示所选字体中没有字形的代码点。例如,代码点可能是不可打印的,或者它可能是调试器使用的字体中未包含的语言中的字符。
不可能从这里说出代码点实际上是什么。您需要编写一些诊断代码,或者在调试器中检查以找出它的真实含义。
要解决此问题,您需要跟踪这些字符串的来源。然后看看你做错了什么。它确实看起来像是代码中的一个错误。换句话说,也许字符串实际上比你的代码认为的那样开始一个字符。