C++ 将迭代器存储到字符串中(转换、强制转换、追加?)
我正试图一个字符一个字符地把一个字符串复制到另一个字符中。其目的不是复制整个字符串,而是只复制其中的一部分(稍后我将为此执行一些条件…) 但是我不知道如何使用C++ 将迭代器存储到字符串中(转换、强制转换、追加?),c++,string,iterator,C++,String,Iterator,我正试图一个字符一个字符地把一个字符串复制到另一个字符中。其目的不是复制整个字符串,而是只复制其中的一部分(稍后我将为此执行一些条件…) 但是我不知道如何使用迭代器 你能帮我吗 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
迭代器
你能帮我吗
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;
std::string str=“Hello world”;
std::字符串tmp;
对于(std::string::iterator it=str.begin();it!=str.end();++it)
{
tmp+=*it;
}
cout为什么不使用+运算符连接到字符串,如下所示:
#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);
}
#包括
#包括
使用名称空间std;
内部主(空)
{
string str=“Hello world”;
字符串tmp=“”;
for(string::iterator it=str.begin();it!=str.end();++it)
{
tmp+=(*it);//我想这样做。
}
谢谢,我找到了另一种方法,但是有点复杂,你的解决方案看起来更好;)我把(*it)存储在一个字符中,然后把字符附加到str中…比你更复杂