How to express string semantic (2)?

How to express string semantic (2)?

(2)string  and related  classes in  c++ STL 
string class  is a portable class.it can be used in many platforms,such as windows,linux,unix,etc!
it encapsulates string semantic and provides many useful member fuctions !
when we use it, don't worry memory overflow,beause it can allocate memory space itself.
In STL,it is defined in header <string>  and std namespace.so if you use it, you will add
#include <string> and
using std::string;or
using std::namespace or
in programe use
std::string define string.
for example:
#include  < string >
#include 
< iostream >
int  main()
{
  std::string str;
  std::cin
>>str;
  std::cout
<<"your input:"<<str<<std::endl; 
}
member funtions in string is very useful.
I  won't discuss it in detail,for many good books do it!
Although string class isn't a container class,it provides similar interfaces,such as begin(),end().
so you can use it like a container class so it can agree with many generic algorithm  in header <algorithm> .
for example:
string str1(  " Alpha Beta Gamma Delta "  );
   string::size_type loc 
=  str1.find(  " Omega " 0  );
   
if ( loc  !=  string::npos )  {
     cout 
<< "Found Omega at " << loc << endl;
   }
  else   {
     cout 
<< "Didn't find Omega" << endl;         
   }

or
string str1( 
" Alpha Beta Gamma Delta "  );
   string::const_iterator loc 
=  find( str1.begin(),str1.end(), " Omega " );
   
if ( loc  !=  str1.end() )  {
     cout 
<< "Found Omega at " << loc << endl;
   }
  else   {
     cout 
<< "Didn't find Omega" << endl;         
   }

and so on!
some useful associated classes are introduced here.
they are defined in header <sstream>:
  • stringstream - allows input and output
  • istringstream - allows input only
  • ostringstream - allows output only

    An ostringstream object can be used to write to a string. This is similar to the C sprintf() function. For example:
     

     ostringstream s1;
      
    int  i  =   22 ;
      s1 
    <<   " Hello  "   <<  i  <<  endl;
      string s2 
    =  s1.str();
      cout 
    <<  s2;


    An istringstream object can be used to read from a string. This is similar to the C sscanf() function. For example:
     

     istringstream stream1;
    string string1 
    =   " 25 " ;
      stream1.str(string1);
      
    int  i;
      stream1 
    >>  i;
      cout 
    <<  i  <<  endl;   //  displays 25


      You can also specify the input string in the istringstream constructor as in this example:

     string string1  =   " 25 " ;
      istringstream stream1(string1);
      
    int  i;
      stream1 
    >>  i;
      cout 
    <<  i  <<  endl;   //  displays 25

     A stringstream object can be used for both input and output to a string like an fstream object.

     when you are familar with these classes,you are able to handle with string-related problem!

  • 你可能感兴趣的:(How to express string semantic (2)?)