gpt4 book ai didi

c++ - 查找诸如 L"%s"之类的宽字符串问题的最佳方法是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 00:23:45 26 4
gpt4 key购买 nike

这是我所说的令人头疼的问题之一的示例:

我们有一个多平台项目,主​​要使用 Unicode 字符串将文本呈现到屏幕上。在 VC++ 的窗口上,行:

swprintf(swWideDest, LEN, L"%s is a wide string", swSomeWideString);

可以很好地编译并将宽字符串打印到另一个宽字符串中。然而,这实际上应该是:

swprintf(swWideDest, LEN, L"%ls is a wide string", swSomeWideString);

如果不将“%s”替换为“%ls”,这将无法在其他平台上运行。因为在我们的 Windows 环境中进行测试更容易、更快捷,而且调试起来也更简单。这些错误很容易被忽视。

我知道最好的解决方案是首先编写正确的代码,但在压力下会犯简单的错误,在这种特殊情况下,错误很容易很长一段时间都不会被注意到。

我怀疑这种错误有很多变体,我们还没有享受到。

有没有人有找到这类错误的好方法?

: D

最佳答案

您可能想看看 FastFormat以防 Boost.Format 对您的需求而言太慢。

与 stringstreams 和 Boost.Format 相比:

  • IOStreams: FastFormat.Format is faster than IOStreams, by between ~100-900%, in all cases
  • Boost.Format: FastFormat.Format is faster than Boost.Format, by between ~400-1650%, in all cases

关于c++ - 查找诸如 L"%s"之类的宽字符串问题的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1473183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com