Skip to main content

User Defined Functions for Predefined Functions

The above string functions can be written as user defined functions. In this section, some of the user defined functions are given. These functions can be called in the same way as predefined functions.  

User defined function for strlen()


We increment the pointer till reaches ‘\0’ and use a counter to count.  
 int slen(char*s) 
 { 
 int count=0; 
 while (*s!=’\0’) 
 { 
 count++; 
 s++; 
 } 
 return count; 
 } 
 void main() 
 { 
 char str[80]; 
 gets(str); 
 printf(“The length is %d”,slen(str)); 
 }
 

 User defined function for strcpy() 


In this function, we copy each character from the source string to the target string using pointers and return the target string. char * scpy(char * target, char * source) 
  { 
  char *t=target; 
  while(*source !=‘\0’) 
  { 
  target=*source; 
  target++; 
  *source++; 
  } 
  target=’\0’; 
return t; 
}

 User defined function for strncpy(): In this function, we copy the first n characters from this source string to the target string pointers and return the target string. char* sncpy(char * target, char * source, int n) 
 { 
 char *t=target; 
 for(int i=0; *source !=’\0’ && i<n; i++) 
 { 
 target=*source; 
 target++; 
 source++; 
 } 
 target=’\0’; 
return t; 
}

 User defined function for strcat()


 In this function, we append the characters from the second string to the end of the first and return the first string. For this we move the pointer of the first to the end and then copy each character from the second string. A NULL character is then added at the end of the string. 
 char * scat (char * s1,char *s2) 
 { 
 char *t=s1; 
 while(*s1!=’\0’) 
 s1++; 
 while(*s2!=’\0’) 
 *s1++=*s2++; 
 *s1=’\0’; 
return t; 
}

 User defined function for strncat()


 In this function , we append the first n characters from second string to end of the first and return the first string. char * sncat(char * s1,char *s2,int n) 
 { 
 char *t=s1; int i; 
 while(*s1!=’\0’) 
 s1++; 
 for(i=0; *s2 !=’\0’ && i<n; i++) 
 *s1++=*s2++; 
 **s1=’\0’; 
return t; 
}

 User defined function for strupr()


 In this function, we convert all lowercase character to uppercase. To check if a character is lowercase, we use the function islower() (from ctype.h).To convert the character to uppercase, we use the function toupper() 
 char *supr(char *s) 
 { 
 char *t=s; 
 while(*s!=’\0’) 
 { 
 if(islower(*s)) 
 *s=toupper(*s); 
 *s++; 
 } 
 return t; 
 }


 User defined function for strlwr()


 In this function, we convert all uppercase character to lowercase. To check if a character is upper case, we use the function isupper() (from ctype.h). To convert the character to lowercase, we use the function tolower() 
 *char *slwr(char *s) 
 { 
 char *t=s; 
 while(*s!=’\0’) 
 { 
 if(isupper(*s)) 
 *s=tolower(*s); 
s++; 
return t; 
}

 User defined function for strcmp()


 In this function we compare two string by comparing each character. If the characters do not match, we return the difference. If both string are identical, a 0 is returned. 
 int scmp(char * s1, char *s2) 
 { 
 while((*s1!=’\0’)&&(*s2!=’\0’)&&(*s1==*s2)) 
 { 
 s1++; 
 s2++; 
 } 
 if(*s1==*s2) 
 return 0; 
 else 
 return *s1-*s2; 
 }
 

  User defined function for strcmpi()


This function is identical to the above. To ignore the case, we convert both strings to uppercase and then compare. To convert the string to uppercase, we use the predefined function strupr(from string.h) 
  int scmpi(char * s1, char *s2) 
  { 
  /*convert both strings to uppercase*/ 
  strupr(s1); strupr(s2); 
  while((*s1!=’\0’)&&(*s2!=’\0’)&&(*s1==*s2)) 
  { 
  s1++; 
  s2++; 
  } 
  if(*s1==*s2) 
  return 0; 
  else 
  return *s1-*s2; 
  }
  

User defined function for strrev()


 This function reverses a string and returns the reverse string. The logic is to swap the first and last, second and second-last character and so on the we reach the middle of the string. char * srev(char* str) 
   { int l, i, m;  
   char *bptr, *eptr, ch;  
   l = strlen(str);  
   bptr = str; eptr = str;  
   for (i = 0; i < l-1 ; i++)  
   eptr++;  
   m=(int)l/2;  
   for (i = 0; i < m; i++)  
   { ch = *eptr;  
   *eptr = *bptr;  
   **bptr = ch;  
bptr++;  
eptr--;  
return str; 
}

User defined function for strset()


 This function sets all character in pointed to by to be value of ch. In this function, a loop starts from the first character and goes up to the last and replaces each character by ch. 
 char * sset(char *s, char ch) 
 { 
 int i; 
 for(i=0; s[i]!=‘\0’; i++) 
 s[i] = ch; //or*(s+i) = ch 
 return s; 
 }

User defined function for strchr()


 This function checks for the occurrence of a character in the string and returns a pointer to the first occurrence of the character. If returns NULL if not found. 
  char *schr(char *s, char ch) 
  { 
  int i; 
  for(i=0; s[i]!=`\0`;i++) 
  if (s[i] == ch) //or *(s+i) == ch 
  return &s[i]; 
  return NULL; /* not found */ 
  }
  

User defined function for strrchr()


 This function checks for the occurrence of a specific character in the string and returns a pointer to the last occurrence of the character. If returns NULL if not found. We can modify the function above to search the string in the reverse order. 
   char *srchr(char *s, char ch) 
   { 
   int i, len; 
   len = strlen(s); 
   for(i=len-1; i>=0; i--) 
   if (s[i] == ch) //or * (s+i) == ch 
   return &s[i]; 
   return NULL; 
   }
   

User defined function for strstr()


 This function takes two string as argument s1 and s2 and returns a pointer to the first occurrence of s2 in s1. Returns NULL if no match is found. 
    char * sstr(char *s1,char *s2) 
    { 
    char *p1 = s1, *p1match, *p2; 
    if(s2==NULL) return s1; 
    while((*p1 !=‘\0’) 
    { 
    p1match=p1,p2=s2; 
    while((*p1 !=‘\0’) && (*p2!=‘\0’) && (*p1 == *p2)) 
    { 
    p1++; 
    p2++; 
    } 
    if(*p2==‘\0’) 
    return p1match ; 
    p1=p1match+ 1; 
    } 
    return NULL; 
    }
    

Comments

Trending⚡

Happy birthday Hardik Pandya | In C programming

  Happy birthday Hardik Pandya . Now you are  28 years old. Great achievement you have. Let's we want to talk more about Hardik pandya. He is great cricketer. Pandya is awesome. In this Blog Post we are going to wish pandya " Happy birthday using C program". Let's tune with us till end. Now we have to wish pandya, so we are going to use printf () function printing message to pandya as " Happy birthday Hardik pandya Now you are 28 years old". Hardik pandya was born on 11 October in 1993. Now we are going to declare a variable called as current_age = 2021 - 1993. It calculate current age Of Hardik pandya. See the "Happy birthday pandya" using c programming. If you liked this Blog Post then don't forget to share with your computer science learning friends. Once again " Happy birthday Hardik Pandya sir". Read also Happy Rakshabandhan wish using C program Friendship day 2021 greetings in C

What is programming explained in simple words

Hi my dear friends today in this blog post we are going to know what programming is? In simple words I will explain to you programming. Nowadays we are watching real life use of programming. How computers learn to speak, talk and do the specified complex task for us. We are all keen to know what is exactly programming? Programming is the process of creating instructions that a computer can understand and execute. These instructions, also known as code, are written in a programming language that is specific to the task at hand. The history of programming can be traced back to the mid-20th century, with the development of the first electronic computers. The first programming languages were known as machine languages, which were specific to a particular type of computer. As computers became more sophisticated, high-level programming languages were developed, such as FORTRAN and COBOL, which were easier for humans to read and write. These languages allow programmers to write code t

check number is prime or odd or even using c program

Here is the c program to check if the user entered number is prime ,even and odd. These few lines of code solve three problems. In the above program we used integer type num variable for storing user entered numbers. Then we used the IF condition statement. That's all. IF condition for even number In the First IF statement we have a logic. If the number is divided by two then the reminder should be 0 then the number is an even number else not an even number. That simple logic is implemented in the first if statement. IF condition for odd number In the second IF statement we Implemented odd number logic. We identify odd numbers just by making little change in even number logic. If the number is divided by two then the reminder should not be a zero. Then the number is odd. That's simple logic used to identify whether a number is odd or not an odd number. IF condition for prime number In the third IF condition we implemented the logic of the prime number. In this IF

Graph Data Structure

Graph A graph can be defined as a group of vertices and edges that are used to connect these vertices. A graph can be seen as a cyclic tree, where the vertices (Nodes) maintain any complex relationship among them instead of having parent child relationship. A graph G can be defined as an ordered set G(V, E) where V(G) represents the set of vertices and E(G) represents the set of edges which are used to connect these vertices. A Graph G(V, E) with 5 vertices (A, B, C, D, E) and six edges ((A,B), (B,C), (C,E), (E,D), (D,B), (D,A)) is shown in the following figure. Directed and undirected graph Graph terminology Graph Representation Directed Graph Adjancency Matrix Graph Traversal Depth first search algorithm Directed and undirected graph A graph can be directed or undirected. However, in an undirected graph, edges are not associated with the directions with them. An undirected graph does not have any edges in directions. If an edge exists between ver

How to write programs in Bhai language

Bhai Language Bhai language is fun Programming language , with this language you can makes jokes in hindi. Bhai language written in typescript. It's very funny , easy and amazing language. Keywords of this language written in Hindi . Starting and ending of the program Start program with keyword " hi bhai " and end with " bye bhai ". It's compulsory to add this keyword before starting and end on the program. You write your programming logic inside this hi bhai and bye bhai . How to declare variables in Bhai language We use " bhai ye hai variable_name" keyword for declaring variables. In javascript we use var keyword for declaring variables but here you have to use " bhai ye hai " keyword. If you are declaring string then use " " double quotes. You can use Boolean variable like sahi and galat for true and false . How to print output in Bhai language You have to use " bol bhai " keyword for