如何将以str1的第二个字符开头的三个字符复制到str2?此代码无效:
#include <iostream>
#include <sstream>
#include <iterator>
#include <algorithm>
int main()
{
std::stringstream str1("0123456789");
std::stringstream str2;
str1.seekg(1, str1.beg);
std::copy(std::istream_iterator<char>(str1), std::istream_iterator<char>(str1)+3, std::ostream_iterator<char>(str2));
std::cout << str2.str() << '\n';
}
预期输出是:
123
这是一个虚拟测试,但我想使用更大的stringstreams和高效的方法。
使用字符串的substr()
。要将它用于std::stringstream
,请使用str1.str()然后将其分配给str :: string str2