Ad

Tuesday, July 24, 2007

String Manipulation Functions (string.h)

This article discusses about the classic string manipulation functions defined in the string.h header file.

From quite a while peoples have been asking me to write an article on the standard library string manipulation functions. These functions are defined in the string.h header file, so you must include it to use them.

There are dozens of string functions in the string.h header file and thus it is difficult to list them all. So rather than listing them all I would be discussing in detail about only few commonly used string manipulation functions along with an example program illustrating how each function is used.

strlen:

  Prototype: int strlen(const char *string);

This function takes the base address of the string as the argument and returns the number of characters in it (including spaces).

  // strlen() string manipulation
  // function
  #include<iostream.h>
  #include<string.h>

  void main(void)
  {
   char ch[]="String Manipulation";

   cout<<strlen(ch);
  }
OUTPUT:
   19

strcpy:

  Prototype: strcpy(char *target, const char *source);

This function takes two arguments (base address of two strings) and copies the contents of the source string to the target string.

It doesn't check bounds thus its our responsibility to be sure that target string is enough to store the contents of the source string.

  // strcpy - string manipulation
  // function
  #include<iostream.h>
  #include<string.h>

  void main(void)
  {
   char source[]="C++";
   char target[10];

   strcpy(target,source);

   cout<<source;
   cout<<endl;
   cout<<target;
  }
OUTPUT:
   C++
   C++

strcat:

  Prototype: strcat(char *target, const char *source);

It concatenates or appends the source string at the end of the target string.

Target string is itself concentrated so it must be big enough to hold the concatenated characters.

  // strcat - string manipulation
  // function
  #include<iostream.h>
  #include<string.h>

  void main(void)
  {
   char source[]="C++";
   char target[20]="I like ";

   strcat(target,source);

   cout<<source;
   cout<<endl;
   cout<<target;
  }
OUTPUT:
   C++
   I like C++

strcmp:

  Prototype: int strcmp(const char *string1, const char *string2);

This function compares two strings and returns 0 if they are identical or else returns a non-zero value.

Case (lower or upper) does matters, thus c++ and C++ are not the same according to this function.

  // strcmp - string manipulation
  // function
  #include<iostream.h>
  #include<string.h>

  void main(void)
  {
   cout<<strcmp("c++","C++");
   cout<<endl;

   cout<<strcmp("Jerry","Jerry");
  }
OUTPUT:
   1
   0

Good-Bye!

Related Articles:

No comments:

Post a Comment

You are free to comment anything, although you can comment as 'Anonymous' it is strongly recommended that you supply your name. Thank You.

Please don't use abusive language.