• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
projectsgeek

ProjectsGeek

Download Mini projects with Source Code, Java projects with Source Codes

  • Home
  • Java Projects
  • C++ Projects
  • VB Projects
  • PHP projects
  • .Net Projects
  • NodeJs Projects
  • Android Projects
    • Project Ideas
      • Final Year Project Ideas
      • JSP Projects
  • Assignment Codes
    • Fundamentals of Programming Language
    • Software Design Laboratory
    • Data Structure and Files Lab
    • Computer Graphics Lab
    • Object Oriented Programming Lab
    • Assembly Codes
  • School Projects
  • Forum

String Operations in C Program

April 3, 2011 by ProjectsGeek Leave a Comment

String Operations in C Program

 

Problem Statement 

 

String Operations in C Program

Source Code to Implement String Operations in C Program or String Operation in C and C++ Language . Operations on String are as Follows :

  • Input Operations – This operation will ask for input from user.
  • Display Operations – This will display user the output.
  • Palindrome Operations – this function will check the entered string for palindrome.
  • Copy String – This option will make a copy of string.
  • Compare Operations on String – This option will compare the two entered strings according to requirement.
  • Reverse Strings – This function will reverse the string and then print to the screen.
  • Concatenate Operations on String – This function will concatenate two strings and then print the final string.
  • Finding Sub string Operations on String

Operations implementation by two methods

  • Using Pointers
  • Without Pointers

String Operations in C Program Code

 #include  
 #include  
 void withp(char []);  
 void withoutp(char []);  
 void in (char []);  
 void out(char []);  
 void palindrome(char []);  
 void reverse(char []);  
 void substring(char []);  
 void compare(char []);  
 void concat (char []);  
 int length (char []);  
 void copy(char []);  
 void input(char *);  
 void display(char *);  
 void palindrome1(char *);  
 void reverse1(char *);  
 void compare1(char *);  
 void concat1 (char *);  
 void substring1 (char *);  
 int length1 (char *);  
 void copy1(char *);  
 void main()  
 {  
 int ch;  
 char str[50];  
 str[0]=NULL;  
 clrscr();  
 do  
 {  
 clrscr();  
 printf("\n\n\n\t\t-------: MAIN MENU :--------");  
 printf("\n\n\n\t1\tUSING POINTERS \n ");  
 printf("\n\t2\tWITHOUT USING POINTERS\n");  
 printf("\n\t3\tEXIT\n\n");  
 printf("\n\tENTER UR CHOICE\t:   ");  
 scanf("%d",&ch);  
 switch(ch)  
 {  
 case 1: withp(str);  
 break;  
 case 2:withoutp(str);  
 break;  
 case 3: break;  
 default:  
 printf("\n\n\t!!!!!!  INVALID CHOICE  !!!!!!!");  
 getch();  
 }  
 }while(ch!=3);  
 getch();  
 } //END OF MAIN  
 /*********************************************************************  
 WITH POINTERS FUNCTOIN  
 ************************************************************************/  
 void withp(char str[])  
 {  
 int ch,s1=0;  
 do  
 {  
 clrscr();  
 printf("\n\n\t\t------: USING POINTER MENU :------\n\n");  
 printf("\n\n\t1\tINPUT");  
 printf("\n\n\t2\tDISPLAY");  
 printf("\n\n\t3\tLENGHT OF THE STRING");  
 printf("\n\n\t4\tPALINDROME");  
 printf("\n\n\t5\tCOPY THE STRING");  
 printf("\n\n\t6\tCOMPARE THE STRING ");  
 printf("\n\n\t7\tREVERSE");  
 printf("\n\n\t8\tCONCATINATE THE STRING");  
 printf("\n\n\t9\tFIND THE SUBSTRING");  
 printf("\n\n\t10\tRETURN TO MAIN MENU");  
 printf("\n\n\n\tENTER UR CHOICE \t:  ");  
 scanf("%d",&ch);  
 switch(ch)  
 {  
 case 1:  
 input(str);  
 break;  
 case 2:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 display(str);  
 getch();  
 break;  
 case 3:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 s1=length1(str);  
 printf("\n\n\tLENGTH OF THE STRING IS  %d",s1);  
 getch();  
 break;  
 case 4:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 palindrome1(str);  
 break;  
 case 5:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 copy(str);  
 break;  
 case 6:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 compare1(str);  
 break;  
 case 7:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 reverse1(str);  
 break;  
 case 8:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 concat1(str);  
 break;  
 case 9:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 substring1(str);  
 break;  
 case 10:  
 break;  
 default:  
 printf("\n\n\t!!!! INVALID CHOICE  !!!!!");  
 getch();  
 }  
 }while(ch!=10);  
 }  
 /*****************************************************************  
  INPUT FUNCTION  
 *******************************************************************/  
 void input(char *str)  
 {  
 int i=0;  
 printf("\n\n\tENTER THE STRING\t");  
 do  
 {  
 flushall();  
 *(str+i++)=getche();  
 } while(*(str+i-1)!='\r');  
 *(str+i)=NULL;  
 }  
 /*****************************************************************  
  DISPLAY FUNCTION  
 *******************************************************************/  
 void display(char *str)  
 {  
 int i=0;  
 printf("\n\n\t\t");  
 while(*(str+i)!='\r')  
 {  
 printf("%c",*(str+i++));  
 }  
 getch();  
 }  
 /*****************************************************************  
  PALINDROME FUNCTION  
 *******************************************************************/  
 void palindrome1(char *str)  
 {  
 int s,e,l=0;  
 l=length1(str);  
 for(s=0,e=l-1;s<e;s++,e--) <br=""> if(*(str+s)!=*(str+e))  
 break;  
 if(s==e)  
 printf("\n\n\t!!!!!!!! PALINDROME  !!!!!!!!");  
 else  
 printf("\n\n\t!!!!!!!! NOT PALINDROME  !!!!!!!!");  
   getch();  
 }  
 /*****************************************************************  
  REVERSE FUNCTION  
 *******************************************************************/  
 void reverse1(char *str)  
 {  
 int a,s,e,l=0;  
 l=length1(str);  
 for(s=0,e=l-1;s<e;s++,e--) <br=""> {  
 a=*(str+s);  
 *(str+s)=*(str+e);  
 *(str+e)=a;  
 }  
 printf("\n\n\t!!!!!!!!!!   STRING HAS BEEN REVERSED  !!!!!!!!!");  
 printf("\n\n\tREVERSED STRING  :-->>  ");  
 display(str);  
 }  
 /*****************************************************************  
  CONCATINATION  FUNCTION  
 *******************************************************************/  
 void concat1 (char *str)  
 {  
 int i=0,l1;  
 char *s1;  
 input(s1);  
 l1=length1(str);  
 while(*(s1+i)!='\r')  
  *(str+i+l1)=*(s1+i++);  
 *(str+i+l1)='\r';  
 *(str+i+l1+1)=NULL;  
 printf("\n\n\tCONCATINATED STRING :-->> ");  
 display(str);  
 }  
 /*****************************************************************  
  LENGTH FUNCTION  
 *******************************************************************/  
 int length1(char *str)  
 {  
 int i;  
 for(i=0;*(str+i)!=NULL;i++);  
 return --i;  
 }  
 /*****************************************************************  
  COMPARE FUNCTION  
 *******************************************************************/  
 void compare1(char *st)  
 {  
 int i,j,l1=0,l2=0;  
 char *s1;  
 input(s1);  
 l1=length1(st);  
 l2=length1(s1);  
 if(l1==l2)  
 {  
 for(i=0;i<l1;i++) <br="">  if(*(st+i)!=*(s1+i))  
  {  
 if(*(st+i) > *(s1+i))  
 printf("\n\n\tFIRST STRING IS GREATER THAN THE SECOND ");  
 else  
 printf("\n\n\tSECOND STRING IS GREATER THAN THE FIRST ");  
 break;  
  }  
 if(i==l2)  
 printf("\n\n\tBOTH THE STRINGS R EQUAL");  
 }  
 else  
 { if(l1>l2)  
 printf("\n\n\tFIRST STRING IS GREATER THAN THE SECOND ");  
 else  
 printf("\n\n\tSECOND STRING IS GREATER THAN THE FIRST ");  
 }  
 getch();  
 }  
 /*****************************************************************  
  COPY FUNCTION  
 *******************************************************************/  
 void copy1(char *st)  
 {  
 int i,j;  
 char *s1;  
 input(s1);  
 for(i=0;*(st+i)!=NULL;i++)  
  *(s1+i) = *(st+i);  
 *(s1+i)=NULL;  
 printf("\tTHE STRING IS COPIED");  
 display(s1);  
 getch();  
 }  
 /*****************************************************************  
  SUBSTRING FUNCTION  
 *******************************************************************/  
 void substring1(char *st)  
 { int j,i,m=0,l2=0;  
 char *s1;  
 input(s1);  
 l2=length1(s1);  
 for(i=0;*(st+i)!=NULL;i++)  
 if(*(st+i)==*(s1))  
 {  
 for(j=1;j<l2;j++) <br=""> if(*(st+i+j)!=*(s1+j))  
 break;  
 if(j==l2)  
 m++;  
 }  
 if(m>0)  
 printf("\n\n\t\tTHE STRING YOU HAVE ENTERED IS PRESENT %d TIMES",m);  
 else  
 printf("\nTHE STRING YOU HAVE ENTERED IS NOT A SUBSTRING OF THE STRING\n");  
 getch();  
 }  
 /*******************************************************  
 WITHOUT POINTERS  
 ********************************************************/  
 void withoutp(char str[])  
 {  
 int ch,s1=0;  
 clrscr();  
 do  
 {  
 clrscr();  
 printf("\n\n\t\t------: WITHOUT USING POINTER MENU :------\n\n");  
 printf("\n\n\t1\tINPUT");  
 printf("\n\n\t2\tDISPLAY");  
 printf("\n\n\t3\tLENGHT OF THE STRING");  
 printf("\n\n\t4\tPALINDROME");  
 printf("\n\n\t5\tCOPY THE STRING");  
 printf("\n\n\t6\tCOMPARE THE STRING ");  
 printf("\n\n\t7\tREVERSE");  
 printf("\n\n\t8\tCONCATINATE THE STRING");  
 printf("\n\n\t9\tFIND THE SUBSTRING");  
 printf("\n\n\t10\tRETURN TO MAIN MENU");  
 printf("\n\n\n\tENTER UR CHOICE \t:  ");  
 scanf("%d",&ch);  
 switch(ch)  
 {  
 case 1:  
  in(str);  
 break;  
 case 2:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\t!!!!!  ENTER THE STRING ");  
 getch();  
 break;  
 }  
 printf("\n\n\tTHE STRING IS \n\n\t\t ");  
 out(str);  
 break;  
 case 3:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\t!!!!!!!  ENTER THE STRING ");  
 getch();  
 break;  
 }  
 s1=length(str);  
 printf("\n\n\tLENGTH OF THE STRING IS  %d",s1);  
 getch();  
 break;  
 case 4:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\t!!!!!!!!!  ENTER THE STRING ");  
 getch();  
 break;  
 }  
 palindrome(str);  
 break;  
 case 5:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 copy(str);  
 break;  
 case 6:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 compare(str);  
 break;  
 case 7:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 reverse(str);  
 break;  
 case 8:  
 if(s1==0)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 concat(str);  
 break;  
 case 9:  
 if(str[0]==NULL)  
 {  
 printf("\n\n\tENTER THE STRING ");  
 getch();  
 break;  
 }  
 substring(str);  
 break;  
 case 10:  
 break;  
 default:  
 printf("\n\n\t!!!! INVALID CHOICE  !!!!!");  
 getch();  
 }  
 }while(ch!=10);  
 }  
 /*****************************************************************  
  INPUT FUNCTION  
 *******************************************************************/  
 void in(char st[])  
 {  
 int i=0;  
 printf("\n\n\tENTER THE STRING\t");  
 do  
 {  
 flushall();  
 st[i++]=getche();  
 } while(st[i-1]!='\r');  
 st[i]=NULL;  
 }  
 /*****************************************************************  
  OUTPUT FUNCTION  
 *******************************************************************/  
 void out(char st[])  
 {  
 int i=0;  
 printf("\n\n\t\t");  
 while(st[i]!=NULL)  
 {  
 printf("%c",st[i++]);  
 }  
 getch();  
 }  
 /*****************************************************************  
  PALINDROME FUNCTION  
 *******************************************************************/  
 void palindrome (char st[])  
 {  
 int s,e,l=0;  
 l=length(st);  
 for(s=0,e=l-1;s<e;s++,e--) <br=""> if(st[s]!=st[e])  
 break;  
 if(s==e)  
 printf("\n\n\t!!!!!!!! PALINDROME  !!!!!!!!");  
 else  
 printf("\n\n\t!!!!!!!! NOT PALINDROME  !!!!!!!!");  
   getch();  
 }  
 /*****************************************************************  
  REVERSE FUNCTION  
 *******************************************************************/  
 void reverse (char st[])  
 {  
 int a,s,e,l=0;  
 l=length(st);  
 for(s=0,e=l-1;s<e;s++,e--) <br=""> {  
 a=st[s];  
 st[s]=st[e];  
 st[e]=a;  
 }  
 printf("\n\n\t!!!!!!!!!!   STRING HAS BEEN REVERSED  !!!!!!!!!");  
 printf("\n\n\tREVERSED STRING  :-->>  ");  
 out(st);  
 }  
 /*****************************************************************  
  COPY FUNCTION  
 *******************************************************************/  
 void copy(char st[])  
 {  
 int i,j,l=0;  
 char s1[50];  
 l=length(st);  
 for(i=0;i<l;i++) <br=""> s1[i]=st[i];  
 s1[i]=NULL;  
 printf("\tTHE STRING IS COPIED");  
 out(s1);  
 getch();  
 }  
 /*****************************************************************  
  COMPARE FUNCTION  
 *******************************************************************/  
 void compare(char st[])  
 {  
 int i,j,l1=0,l2=0;  
 char s1[50];  
 in(s1);  
 l1=length(st);  
 l2=length(s1);  
 if(l1==l2)  
 {  
 for(i=0;i<l2;i++) <br="">  if(st[i]!=s1[i])  
  {  
 if(st[i]>s1[i])  
 printf("\n\n\tFIRST STRING IS GREATER THAN THE SECOND ");  
 else  
 printf("\n\n\tSECOND STRING IS GREATER THAN THE FIRST ");  
 break;  
  }  
 if(i==l2)  
 printf("\n\n\tBOTH THE STRINGS R EQUAL");  
 }  
 else  
 { if(l1>l2)  
 printf("\n\n\tFIRST STRING IS GREATER THAN THE SECOND ");  
 else  
 printf("\n\n\tSECOND STRING IS GREATER THAN THE FIRST ");  
 }  
 getch();  
 }  
 /*****************************************************************  
  SUBSTRING FUNCTION  
 *******************************************************************/  
 void substring (char st[])  
 {  
 int i,j,m=0,l1=0,l2=0;  
 char s1[50];  
 in(s1);  
 l1=length(st);  
 l2=length(s1);  
 for(i=0;i<l1;i++) <br=""> {  
 if(st[i]==s1[0])  
 {  
 for(j=0;j<l2;j++) <br=""> if(st[i+j]!=s1[j])  
 break;  
 if(j==l2)  
 m++;  
 }  
 }  
 if(m!=0)  
 printf("\n\n\t SUBSTRING IS PRESENT %d TIMES IN THE STRING",m);  
 else  
 printf("\n\n\tTHE SUBSTRING IS NOT PRESENT");  
 getch();  
 }  
 /*****************************************************************  
  CONCATINATION FUNCTION  
 *******************************************************************/  
 void concat (char st[])  
 {  
 int i=0,l1=0;  
 char s1[50];  
 l1=length(st);  
 while(s1[i]!='\r')  
 st[i+l1]=s1[i++];  
 st[i+l1]=NULL;  
 printf("\n\n\tCONCATINATED STRING :-->> ");  
 out(st);  
 }  
 /*****************************************************************  
  LENGTH FUNCTION  
 *******************************************************************/  
 int length (char st[])  
 {  
 int i;  
 for(i=0;st[i]!=NULL;i++);  
 return --i;  
 }  
 /*****************************************************************  
  THANKS  
 *******************************************************************/

Download Source Code

 

Other Projects to Try:

  1. string operations such as Copy, Length, Reversing, Palindrome, Concatenation
  2. String Operations with Pointers
  3. String Operations in C Language
  4. Matrix operations in c language
  5. Set Operations program in C

Filed Under: Fundamentals of Datastructure Tagged With: Datastructure Assignments

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Tags

.Net Projects Download Android Project Ideas Android Projects Angular 2 Assembly Codes C # Projects C & C++ Projects C++ Projects Class Diagrams Computer Graphics Database Project Data Mining Projects DataScience Projects Datastructure Assignments Download Visual Basic Projects Electronics project Hadoop Projects Installation Guides Internet of Things Project IOS Projects Java Java Interview Questions Java Projects JavaScript JavaScript Projects java tutorial JSON JSP Projects Mechanical Projects Mongodb Networking Projects Node JS Projects OS Problems php Projects Placement Papers Project Ideas Python Projects seminar and presentation Struts

Search this Website


Footer

Download Java Project
Download Visual Basic Projects
Download .Net Projects
Download VB Projects
Download C++ Projects
Download NodeJs Projects
Download School Projects
Download School Projects
Ask Questions - Forum
Latest Projects Ideas
Assembly Codes
Datastructure Assignments
Computer Graphics Lab
Operating system Lab
australia-and-India-flag
  • Home
  • About me
  • Contact Form
  • Submit Your Work
  • Site Map
  • Privacy Policy