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

Storing an iterator into a string (Conversion, cast, append ?)

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

但我不知道如何使用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.
    }

你可以试试这个:

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

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

为什么不使用 + 运算符连接字符串:

#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);
}