Proxy > Gmail Facebook Yahoo!

How String Functions (string.h) Work? in C++ Part -1



mystrlen
  // mystrlen- function 
  #include<iostream.h>

  int mystrlen(const char *);

  void main(void)
  {
   char ch[]="This is great!";
   cout<<"Length:"<<mystrlen(ch);
  }

  int mystrlen(const char *str)
  {
   int len=0;

   while(str[len]!='\0')
     len++;
   return len;
  }
mystrcpy
// mystrcpy- function 
  #include<iostream.h>

  void mystrcpy(char *,const char *);

  void main(void)
  {
   char ch[]="This is great!";
   char ch2[20];

   mystrcpy(ch2,ch);

   cout<<ch;
   cout<<endl;
   cout<<ch2;
  }

  void mystrcpy(char *str1,const char *str2)
  {
   int i=0;

   // copy each character
   while(str2[i]!='\0')
   {
    str1[i]=str2[i];
    i++;
   }
   // put the end of 
   // string identifier
   str1[i]='\0';
  }
mystrcat
// mystrcat- function 
  #include<iostream.h>

  void mystrcat(char *,const char *);

  void main(void)
  {
   char ch[]="This is great!";
   char ch2[25]="Yes ";

   mystrcat(ch2,ch);

   cout<<ch;
   cout<<endl;
   cout<<ch2;
  }

  void mystrcat(char *str1,const char *str2)
  {
   int i=0;
   int len=0;

   // skip to the end of the first
   // string(target)
   while(str1[len]!='\0')
     len++;

   // start copying characters
   // from the start of the 
   // second string (source)
   // to the end of the
   // first (target)
   while(str2[i]!='\0')
   {
    str1[len]=str2[i];
    i++;len++;
   }
   str1[len]='\0';
  }
mystrcmp
  // mystrcmp- function
  #include<iostream.h>

  int mystrcmp(char *,const char *);

  void main(void)
  {
   char ch[]="C++";
   char ch2[]="C++";

   cout<<mystrcmp(ch2,ch);
  }

  int mystrcmp(char *str1,const char *str2)
  {
   int i=0,cmp=-1;

   while(str1[i]!='\0')
   {
    if(str1[i]==str2[i])
    {
     // check one character
     // following it, so that
     // end of string is also
     // compared
     if(str1[i+1]==str2[i+1])
       cmp=0;
     // if not same then check
     // to see which string has 
     // higher ASCII value for the
     // non-matching charcter
     else if(str1[i+1]<str2[i+1])
     {
      cmp=-1;
      break;
     }
     else
     {
      cmp=1;
      break;
     }
    }
    else if(str1[i]<str2[i])
    {
     cmp=-1;
     break;
    }
    else
    {
     cmp=1;
     break;
    }
    i++;
   }
   return cmp;
  }
Good-Bye!


Responses

0 Respones to "How String Functions (string.h) Work? in C++ Part -1"


Send mail to your Friends.  

Expert Feed

 
Return to top of page Copyright © 2011 | My Code Logic Designed by Suneel Kumar