Принесем немного PHP в C++

Февраль 25th, 2011 § 0 comments

Довольно долго я увлекался PHP и находил способ работы со строками очень удобным, так что вот немного функция для работы с stl строками в духе PHP


vector<string> explode(string& str, string separator)
{
 vector<string> results;
 int found;
 found = str.find_first_of(separator);
 while(found != string::npos){
 if(found > 0){
 results.push_back(str.substr(0,found));
 }
 str = str.substr(found+1);
 found = str.find_first_of(separator);
 }
 if(str.length() > 0){
 results.push_back(str);
 }

return results;
}

аналог explode в PHP, первый параметр строка, второй разделитель, на выходе получаем vector строк.


string implode( const vector<string> &pieces, const string &glue)
 {
 string a;
 int leng=pieces.size();
 for(int i=0; i<leng; i++)
 {
 a+= pieces[i];
 if (  i < (leng-1) )
 a+= glue;
 }
 return a;
 }

обратная функция склеивает vector строк клеем glue на выходе получаем строку


string& replaceAll(string& context, const string& from, const string& to)
{
 size_t lookHere = 0;
 size_t foundHere;
 while((foundHere = context.find(from, lookHere)) != string::npos)
 {
 context.replace(foundHere, from.size(), to);
 lookHere = foundHere + to.size();
 }
 return context;
}

заменим все на хрен xDDD все видно из прототипа не будем играть в капитана очевидность.

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Смотреть фильмы онлайн