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:








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:
















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!