将迭代器存储到字符串中(转换、转换、追加?)
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);
}
我正在尝试将一个字符串逐个字符地复制到另一个字符串中。目的不是复制整个字符串,而是复制其中的一部分(我稍后会为此做一些条件..)
但我不知道如何使用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);
}