c++ - std::wstring:与 + 的连接无效

标签 c++ string boost stl

解决方案可能很明显,但我没有看到。我有这个简单的 C++ 代码:

// Build the search pattern
// sPath is passed in as a parameter into this function
trim_right_if(sPath, is_any_of(L"\\"));
wstring sSearchPattern = sPath + L"\\*.*";

我的问题是 + 运算符无效(已在调试器中检查)。字符串 sSearchPattern 仅初始化为 sPath 的值。

注意:sPath是一个wstring

我想要实现的示例:

sSearchPattern -> C:\SomePath\*.*

更多信息:

当我在调试器中查看 sPath 时,我在最后一个字符后看到两个 NULL 字符。当我查看 sSearchPattern 时,附加了“\*.*”,但在两个 NULL 字符之后。有什么解释吗?

最佳答案

这应该有效,并且确实适用于 VS2010,SP1:

#include <iostream>
#include <string>

int main()
{
    const std::wstring sPath = L"C:\\SomePath";
    const std::wstring sSearchPattern = sPath + L"\\*.*";

    std::wcout << sSearchPattern << L'\n';

    return 0;
}

这打印

C:\SomePath\*.*

对我来说。

关于c++ - std::wstring:与 + 的连接无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7787198/

相关文章:

Java:字符串什么时候进入字符串常量池?

java - 将字符串分解为子字符串,Android

c++ - boost::thread 在线程之间传递数据

c++ - 出于某种原因,使用 std::make_pair 需要带有 boost::flat_map 的显式类型

c++ - 如何获取适用于 Visual Studio 的 Boost 库二进制文件?

c++ - 通过 psapi.dll 调用 GetModuleFileNameEx 不起作用,但为什么呢?

c++ - OpenCV - BW 图像的 PCA 分析 - 面积与形状 - 已经有实现了吗?

java - 如何在 Java 中将字符串值从一个类调用到另一个类

C++ - 如何从一个类的构造函数中初始化一个单独类的构造函数?

c++ - 访问视频的每一帧并对其进行处理