Получение Stringstream для чтения от символа A до B в строке - PullRequest
1 голос
/ 17 июня 2011

Есть ли какой-нибудь способ заставить StringStream читать символы от A до B строки?

Например, что-то вроде (но не):

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

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ: от A до B я имею в виду, например, символы с третьего по пятый.

РЕДАКТИРОВАТЬ: Пример: получить символы с третьего по пятый из "abcdefghijklmnop" даст "cde".

Ответы [ 2 ]

2 голосов
/ 17 июня 2011

или, если вам нужна подстрока в позициях от 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);
0 голосов
/ 17 июня 2011

Вы можете использовать substr -метод:

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

Это напечатает rsdf.

...