C Programming Tutorial
About Lesson

C String Functions

In this article, we will learn about library functions used for string manipulation in C programming such as gets(), puts(), strlen() etc with the help of examples.


String Library Functions

There are many string library functions which we can use according to our needs. These functions are used to make the program shorter and readable.

Note : string.h headers files used to handle all the string library functions.

Syntax

#include <stdio.h>

Commonly used string Library functions

Function Work of Function
strlen() Computes the length of the string
strcpy() copies a string to another string
strcat() concatenate or join two strings
strcmp() compare two strings
strlwr() converts string to lowercase
strupr() converts string to uppercase

strlen()

The strlen() function is used to calculate the length of a given string.

Syntax

strlen(string);

The strlen() function takes a string as an argument and returns its length as a positive integer value.

 

Example : C strlen() function

#include <stdio.h>
#include <string.h>
int main() {
  char first[10]="Avengers";
  char second[10]={'A','v','e','n','g','e','r','s','\0'};
  printf("Length of string first is %d \n",strlen(first));
  printf("Length of string second is %d \n",strlen(second));
  return 0;
}

Output

Length of string first is 8 
Length of string second is 8

Note : The strlen() function doesn’t count the null character \0 while calculating the length of the string.


strcpy()

The strcpy() function is used to copy a string to the pointed string and return the copied string.

Syntax

strcpy(destination_string, source_string);

The strcpy() function copy the data of source string in the destination string, and the previous data stored in the destination string is removed.


Example: C strcpy()

#include <stdio.h>
#include <string.h>
int main() {
  char favourite1[20] = "Tony Stark";
  char favourite2[20] = "Steve Jobs";
  // copying favourite1 to favourite2
  strcpy(favourite2, favourite1);
  puts(favourite2);   // C programming
  return 0;
}

Output

Tony Stark

Note: When we use strcpy() function then the size of the destination string should be large enough to store the copied string or it will gives us an warning “intialized array for array of chars is too long”.


strcat()

The strcat() function is used to contcatenate or join two strings.

Syntax

strcat(destination_string, source_string);

The strcat() function concatenates the destination string and the source string, and the result is stored in the destination string.


Example: C strcat() function

#include <stdio.h>
#include <string.h>
int main() {
  char string1[50] = "This is right", string2[50] = " This is left";
  // concatenates or join string2 with string1
  strcat(string1, string2);
  puts(string1);
  puts(string2);
  return 0;
}

Output

This is right This is left
This is left

Note: When we use strcpy() function then the size of the destination string should be large enough to store the copied string or it will gives us an warning “intialized array for array of chars is too long”.


strcmp()

The strcmp() function is used to compares two strings and returns 0. if both strings are same/identical.

The strcmp() function takes two strings and returns an integer.

The strcmp() compares two strings character by character.


strcmp() Return Values

Return Value Conditions
0 If both strings are identical/same
positive integer If the ASCII value of the first unmatched character is greater than the second.
negative integer If the ASCII value of the first unmatched character is lesser than the second.

Example: C strcmp() function

#include <stdio.h>
#include <string.h>
int main() {
  char string1[] = "abcd", string2[] = "ABCD", string3[] = "abcd";
  // comparing strings string1 and string2
  printf("strcmp(string1, string2) = %d\n", strcmp(string1, string2));
  // comparing strings string1 and string3
  printf("strcmp(string1, string3) = %d\n", strcmp(string1, string3));
  // comparing strings string2 and string3
  printf("strcmp(string2, string3) = %d\n", strcmp(string2, string3));
  return 0;
}

Output

strcmp(string1, string2) = 32
strcmp(string1, string3) = 0
strcmp(string2, string3) = -32

 

error: Content is protected !!