Re[2]: vector<char> получить подстроку.
От: whyisthat  
Дата: 12.09.12 11:35
Оценка:
Здравствуйте, Кодт, Вы писали:

К>const char* text = &v.begin();

К>const char* start = strchr(text, '=') + 1; // 1 — длина разделителя, т.е. 1 символ
К>const char* finish = strstr(start, "(+)");

К>std::string value(start, finish);

К>[/c]

Да, этот способ мне известен, было интересно как это в стиле STL сделать.


К>iter_t start = std::find(v.begin(), v.end(), '=');

К>if(start == v.end()) return;
К>++start;

К>const char* tag = "(+)";

К>iter_t finish = std::search(start, v.end(), tag, tag+strlen(tag));
К>if(finish == v.end()) return;

К>std::string value(start, finish);

К>[/c]

Спасибо, то что нужно! А могу я const char *tag заменить на std::array? Это будет более по STL'ней или const char *tag более эффективнее?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.