让Stringstream从字符串中的字符A到B读取

时间:2011-06-17 09:33:32

标签: c++ string stringstream

有没有办法让StringStream读取字符串的字符A到B?

例如,像(但不是):

stringstream mystringstream;
mystringstream.read(char* s, streamsize n, **int firstcharacter**);

感谢您的帮助。

编辑:A到B我的意思是,例如,第三到第五个字符。

编辑:示例:获取“abcdefghijklmnop”中的字符三到五将给出“cde”。

2 个答案:

答案 0 :(得分:2)

或者,如果您需要位置A到B的子串,您可以

string s = mystring.substr(A, B-A+1); // the second parameter is the length 

如果必须是字符串流,则可以

string s = mystringstream.str().substr(A, B-A+1);

答案 1 :(得分:0)

您可以使用substr - 方法:

std::string foo = "asdfersdfwerg";
std::cout << foo.substr(5, 4) << std::endl;

这将打印rsdf