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
Oct 27, 1997

The Best Way to Manipulate Strings in C++

You should use the String class to avoid common problems when manipulating strings in C++. The following approach will work, but it needs a lot more code to make it robust:
 
#include <IOSTREAM.H

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
	}
}
What if the instring was sent in as null, or what if it was 80 chars in length? To avoid these common 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.

If I had used the STL string class instead of char arrays and pointers, the previous example would look like this:

 
#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.
}
Ivy Weston
 
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