【问题标题】:Construct a string from a portion of a char array in C++在 C++ 中从 char 数组的一部分构造一个字符串
【发布时间】:2013-03-17 21:11:45
【问题描述】:

我有一个非常大的 wchar_t 数组。我想从这个 wchar_t 数组的一部分构造一个 wstring,例如在 i 和 j 之间。

我不想把大的char数组变成wstring,然后再取一个子串。

请问我该怎么做?

【问题讨论】:

    标签: c++ string arrays wstring


    【解决方案1】:

    使用迭代器对构造函数:

    std::wstring str(arr + i, arr + j + 1); //need one past the end
    

    在这种情况下,添加是有效的,因为指针是随机访问迭代器。对于在迭代器不支持operator+ 时有效的通用形式,请使用std::next(arr, i)std::next(arr, j + 1)。如果担心泛型,std::begin 可以用来代替 arr,因为它适用于数组和标准容器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 2013-02-04
      • 1970-01-01
      相关资源
      最近更新 更多