Home »
C programs
C Language <string.h> Header File Functions
In C language, <string.h> header file contains the definitions of string-related library functions that are used for various string manipulation operations.
Including <string.h> Header File
To use the functions of <string.h>, you need to include <string.h> into the source code. The following is the syntax to include this header file:
#include <string.h>
C Language <string.h> Header File Functions
This header file contains all kind of string related function for string manipulation. Some of the functions are : strlen(), strcpy(), strupr(), strlwr(), strrev(), strcmp(), strcmpi(), strcat(), strncpy(), memset().
1) strlen() - String Length
strlen function returns length of the string without counting null character.
Example of strlen() Function
/*C example of strlen().*/
#include <stdio.h>
#include <string.h>
int main()
{
char str[]="www.includehelp.com";
int length;
//string length
length=strlen(str);
printf("String Length: %d\n",length);
return 0;
}
Output
String Length: 19
2) strupr() - String Upper
strupr converts string into uppercase.
3) strlwr() - String Lower
strlwr converts string into lowercase.
Example of strupr() and strlwr() Functions
/*C example of strupr() and strlwr().*/
#include<stdio.h>
#include<string.h>
int main()
{
char str[]="Hello Wolrd.";
printf("Value of str: %s\n",str);
//convert into uppercase
strupr(str);
printf("Value of str (Uppercase): %s\n",str);
//convert into lowercase
strupr(str);
printf("Value of str (Lowercase): %s\n",str);
return 0;
}
Output
Value of str: Hello World.
Value of str (Uppercase): HELLO WORLD.
Value of str (Lowercase): hello world.
4) strrev() - String Reverse
strrev reverses the string.
Example of strrev() Function
/* C example program of strrev().*/
#include<stdio.h>
#include<string.h>
int main()
{
char str[30];
printf("Enter string: ");
gets(str);
printf("Entered string is: %s\n",str);
//Reverse string
strrev(str);
printf("Reversed string is: %s\n",str);
return 0;
}
Output
Enter string: Hello World
Entered string is: Hello World
Reversed string is: dlroW olleH
5) strcpy() - String Copy
strcpy copies one string to another string, in this function there will be two parameters second parameter’s values will be copied into first parameter’s variable.
Example of strcpy() Function
/* C example program of strcpy().*/
#include<stdio.h>
#include<string.h>
int main()
{
char str1[30];
char str2[30];
printf("Enter string 1: ");
gets(str1);
//copy str1 into str2
strcpy(str2,str1);
printf("str1: %s \nstr2: %s \n",str1,str2);
return 0;
}
Output
Enter string 1: Hello World.
str1: Hello World.
str2: Hello World.
6) strcmp() - String Compare
strcmp compares two strings and return 0, less than 0 and greater than 0 based on strings, if strings are same function will return 0, other function will return difference of first dissimilar character, difference may be positive or negative.
7) strcmpi() - String Comparing Ignoring case
strcmpi compares two strings ignoring case sensitivity and return 0, less than 0 and greater than 0 based on strings, if strings are same function will return 0, other function will return difference of first dissimilar character, difference may be positive or negative.
Example of strcmp() and strcmpi() Functions
/* C example program of strcmp() and strcmpi().*/
#include<stdio.h>
#include<string.h>
int main()
{
char str1[30];
char str2[30];
printf("Enter string1: "); gets(str1);
printf("Enter string2: "); gets(str2);
//using strcmp
printf("Using strcmp:\n");
if(strcmp(str1,str2)==0)
printf("strings are same.\n");
else
printf("strings are not same.\n");
//using strcmp
printf("Using strcmpi:\n");
if(strcmpi(str1,str2)==0)
printf("strings are same.\n");
else
printf("strings are not same.\n");
return 0;
}
Output
Enter string1: Hello World
Enter string2: hello world
Using strcmp:
strings are not same.
Using strcmpi:
strings are same.
8) strcat() - String Concatenate
strcat concatenates second string with first string. This function will take two parameters after executing this function, value of second parameter will be concatenated with first string.
Example of strcat() Function
/* C example program of strcat() .*/
#include<stdio.h>
#include<string.h>
int main()
{
char title[5],fName[30],lName[30];
char name[100]={0}; //assign null
printf("Enter title (Mr./Mrs.): "); gets(title);
printf("Enter first name: "); gets(fName);
printf("Enter last name: "); gets(lName);
//create complete name using string concatenate
strcat(name,title);
strcat(name," ");
strcat(name,fName);
strcat(name," ");
strcat(name,lName);
strcat(name," ");
printf("Hi.... %s\n",name);
return 0;
}
Output
Enter title (Mr./Mrs.): Mr.
Enter first name: Mike
Enter last name: Thomas
Hi.... Mr. Mike Thomas
9) strncpy() - String Copy with finite number of characters
strncpy copies first N characters. This function will copy first N characters from second parameter’s value (variable) in first parameter’s variable.
Example of strncpy() Function
/*C example of strncpy().*/
#include <stdio.h>
#include <string.h>
int main()
{
char str1[30]={0};
char str2[30]={0};
printf("Enter string1: "); gets(str1);
//copy first 3 characters of str1
//before copy insert null in target string
strncpy(str2,str1,3);
printf("After copying str2 is: %s\n",str2);
return 0;
}
Output
Enter string1: Hello
After copying str2 is: Hel
10) memset() - Memory Set
memset function is used to set (assign) given number of characters in string. there will be three parameters first parameter is targeted string variable, second parameter is the character (any one byte value) that will be assigned and third one is number of blocks in which given value will be assigned.
Example of memset() Function
/*C example of strncpy().*/
#include <stdio.h>
#include <string.h>
int main()
{
char str[30];
//set NULL value to complete string
memset(str,'\0',30);
printf("str: %s\n",str);
/* set SPACE to first 29 characters
do not assign space or other character
to last character, it contains NULL.
*/
memset(str,' ',29);
printf("str: %s\n",str);
//set A to first 10 characters and B to next 5 characters
memset(str,'A',10);
memset(str+10,'B',5);
printf("str: %s\n",str);
return 0;
}
Output
str:
str:
str: AAAAAAAAAABBBBB