String handling in C++

String handling in C++

What is the best way to manipulate strings in C++?

Here is an example.

#include void foo (char *instring){	// Declare char array big enough to read in input	char read_string[80];	cin.readline(read_string,80);	if(strcmp(read_string,instring) == 0) // strcmp returns 0 if the strings										  // match 	{		// do something	}	else	{		// strings do not match	}}
The above approach will work, but it needs a lots more code to make it reallyrobust, e.g. what if the instring was sent in as null, or what if it was 80 chars in length, etc.

So to avoid these commonly occurring problems it is best to use some kindof String class to do all of your string processing. Almost all compilervendors include a String class with their implementations. String classes provide methods and operators to construct, assign, copy, read and write tostreams and many more operations.

Here’s how the above example would look if I had used the STL string classinstead of char arrays and pointers:

#include #include void foo(const string & instring){	string read_string; // construct a string object	cin >> read_string;	if (instring == read_string)		// .. do something else		//… do something else.}


Share the Post: