C++/String/string iterator

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

Access the contents of a string using iterators

<source lang="cpp">

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

int main(){

  using namespace std;
  string str ("Hello String");
  int i = 0;
  string::const_iterator itt;
  for ( itt = str.begin (); itt != str.end (); ++ itt )
  {
      cout << "Character [" << i ++ << "] is: ";
      cout << *itt << endl;
  }
  //The char* representation of the string is: "
  cout << str.c_str () << endl;
  return 0;

}


 </source>


Create an iterator to a string and Use it to cycle through the characters of a string

<source lang="cpp">

  1. include <iostream>
  2. include <string>
  3. include <cctype>
  4. include <algorithm>
  5. include <vector>

using namespace std; int main() {

 string strA("This is a test.");
 string::iterator itr;
 
 for(itr = strA.begin(); itr != strA.end(); ++itr)
   cout << *itr;
 return 0;

}


 </source>


increment the iterator

<source lang="cpp">

  1. include <iostream>
  2. include <string>
  3. include <cctype>
  4. include <algorithm>
  5. include <vector>

using namespace std; int main() {

 string strA("This is a test.");
 string::iterator itr;
 itr = find(strA.begin(), strA.end(), "a");
 ++itr;
 return 0;

}


 </source>


string::npos

<source lang="cpp">

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

using std::cout; using std::endl; using std::string; int main() {

 string text = "asdf asdf asdf asdf asdf";
 size_t start = text.find_first_not_of("df");
 
 cout << start;
 cout << string::npos;
 return 0;

} /* 04294967295

*/        
   
 </source>


use iterator

<source lang="cpp">


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

using namespace std; int main() {

 string str1("Strings handling is easy in C++");
 string::iterator p;
 unsigned int i;
 // use iterator
 p = str1.begin();
 while(p != str1.end()) 
   cout << *p++;
 cout << endl;
 return 0;

} /* Strings handling is easy in C++

*/        
   
 </source>


Using an iterator to output a string

<source lang="cpp">

  1. include <iostream>

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

  1. include <string>

using std::string; int main() {

  string string1( "Testing iterators" );
  string::const_iterator iterator1 = string1.begin();
  cout << "string1 = " << string1
     << "\n(Using iterator iterator1) string1 is: ";
  while ( iterator1 != string1.end() ) 
  {
     cout << *iterator1; 
     iterator1++;        
  }
  cout << endl;
  return 0;

} /* string1 = Testing iterators (Using iterator iterator1) string1 is: Testing iterators

*/        
   
 </source>