C++/String/string erase

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Erase a range of characters using an overloaded version of erase()

<source lang="cpp">

  1. include <string>
  2. include <algorithm>
  3. include <iostream>

using namespace std; int main () {

   string strSample ("Hello String!");
   strSample.erase (strSample.begin (), strSample.end ());
   if (strSample.length () == 0)
       cout << "The string is empty" << endl;
   return 0;

}


 </source>


string.erase(6,9)

<source lang="cpp">

  1. include <iostream>
  2. include <string>

using namespace std; int main() {

 string str1("String handling C++ style.");
 string str2("STL Power");
 cout << "Initial strings:\n";
 cout << "str1: " << str1 << endl;
 cout << "str2: " << str2 << "\n\n";
 // demonstrate erase()
 cout << "Remove 9 characters from str1:\n";
 str1.erase(6, 9);
 cout << str1 <<"\n\n";
 return 0;

} /* Initial strings: str1: String handling C++ style. str2: STL Power Remove 9 characters from str1: String C++ style.

*/        
   
 </source>


Use erase to remove all characters from (and including) location 6 through the end of string1

<source lang="cpp">

  1. include <iostream>

using std::cout; using std::endl;

  1. include <string>

using std::string; int main() {

  string string1( "abcedfghijklmnopqrstuvwxyz" );
  
  cout << "Original string:\n" << string1 << endl << endl;
  string1.erase( 6 );
  cout << "Original string after erase:\n" << string1
     << "\n\nAfter first replacement:\n";
            
  return 0;

} /* Original string: abcedfghijklmnopqrstuvwxyz Original string after erase: abcedf After first replacement:

*/        
   
 </source>