Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Beginner
Mar 27, 1997

String handling in C++

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

Answer:
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 really robust, 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 kind of String class to do all of your string processing. Almost all compiler vendors include a String class with their implementations. String classes provide methods and operators to construct, assign, copy, read and write to streams and many more operations.

Here's how the above example would look if I had used the STL string class instead 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.
}
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date