将迭代器存储到字符串中(转换,强制转换,追加?)

时间:2015-02-18 08:26:07

标签: c++ string iterator

我正在尝试将字符串复制到另一个字符中。目的不是复制整个字符串而只复制它的一部分(我稍后会做一些条件......)

但我不知道如何使用iterators

你能帮助我吗?

std::string str = "Hello world";
std::string tmp;

for (std::string::iterator it = str.begin(); it != str.end(); ++it)
    {
        tmp.append(*it); // I'd like to do something like this.
    }

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

std::string str = "Hello world";
std::string tmp;

for (std::string::iterator it = str.begin(); it != str.end(); ++it)
{
    tmp += *it; 
}
cout << tmp;

答案 1 :(得分:1)

为什么不使用+运算符连接到字符串,如下所示:

#include <iostream>
#include <sstream>
using namespace std;
int main(void)
{
    string str = "Hello world";
    string tmp = "";

    for (string::iterator it = str.begin(); it != str.end(); ++it)
    {
        tmp+=(*it); // I'd like to do something like this.
    }
    cout << tmp;
    getchar();
    return (0);
}