Table of Contents
In this lesson, you will learn about the main string built-in function in C, their usage, with examples to better understand the topic.
String Input/Output functions in C
The commonly used functions in C are the read and write function. There are four read and write functions in C that beginners in C must know: scanf(), gets(), printf(), puts()
scanf() string function
Reads formatted data from stdin and stores it in the additional arguments’ locations.
int a;
scanf("Please enter a value %d", &a);
The code above will read the data from the stdin and store it in the integer variable a.
gets() string function
Reads a line of data from the stdin and store it in a variable. It will terminate its function once it reads a newline character.
char location[30];
printf ("\n Enter your location: \n");
gets (location);
printf() string function
Prints formatted output to stdout.
printf("Welcome to CodingPanel.com! );
puts() string function
Similar to print(), puts() will print the data to the output; however, any null character will be eliminated by the compiler. The puts() moves the cursor to the next line, meaning it will add a newline character to the output after printing out the data.
char location[30];
printf ("Please enter your location\n");
gets (location);
printf ("\nThe location is - ");
puts (location);
Example of Read & write Strings in C using Printf() and Scanf()
#include <stdio.h>
#include <string.h>
int main ()
{
char location[30];
printf ("Enter your location: ");
scanf ("%s", location);
printf ("Your location is %s", location);
return 0;
}
Output
Enter your location: USA
Your location is USA
More string built-in functions in C
strlen string function in C
Returns the length of a string, without the ending null character
#include <stdio.h>
#include <string.h>
int main ()
{
char strName[10] = "Fred";
printf ("The length of the string is: %d ", strlen (strName));
return 0;
}
Output
The length of the string is: 4
strcpy string function in C
Copies a string value from string variable A into string variable B, including the end character ‘0\’
#include <stdio.h>
#include <string.h>
int main ()
{
char stringA[] = "string A";
char stringB[] = "string B";
strcpy (stringB, stringA);
printf ("StringB new value is: %s", stringB);
return 0;
}
output
StringB new value is: string A
strcat string function in C
Concatenates two strings into one string.
#include <stdio.h>
#include <string.h>
int main ()
{
char string1[10] = "Coding";
char string2[10] = "Panel";
strcat (string1, string2);
printf ("%s", string1);
return 0;
}
Output
CodingPanel
strchr string function in C
Searches a string for a character ch.
#include <stdio.h>
#include <string.h>
int main ()
{
char str[15] = "CodingPanel";
char *output;
int findMe = 'i';
output = strchr (str, findMe);
printf ("The first occurrence of %c in '%s' is '%s'\n", findMe, str,
output);
}
Output
The first occurrence of i in ‘CodingPanel’ is ‘ingPanel’
Strrchr string function in C
This function is similar to strchr. The difference is that it searches the string for a char in a reserver order, starting the string’s last char.
#include <stdio.h>
#include <string.h>
int main ()
{
char str[30] = "Welcome to CodingPanel.com";
char *output;
char findMe = 'o';
output = strchr (str, findMe);
printf ("The first occurrence of %c in '%s' is '%s'\n", findMe, str,
output);
return 0;
}
Output
The first occurrence of o in ‘Welcome to CodingPanel.com’ is ‘ome to CodingPanel.com’
strcmp String function in C
Compares two strings and returns an integer ‘0’ if they are equal. Otherwise, it will return a negative or positive value based on the comparison.
#include <stdio.h>
#include <string.h>
int main ()
{
char string1[20] = "Coding";
char string2[20] = "Panel";
if (strcmp (string1, string2) == 0)
{
printf ("string1 and string2 are the same");
}
else
{
printf ("string 1 and string 2 are not the same");
}
return 0;
}
Output
string 1 and string 2 are not the same
strncat string function in C
Concatenates n characters of string2 to string1. The compiler will always add the char (‘\0’) at the end of the concatenated string.
#include <stdio.h>
#include <string.h>
int main ()
{
char string1[] = "Coding";
char string2[] = "Panel.commm";
strncat (string1, string2, 9);
printf ("%s", string1);
return 0;
}
Output
CodingPanel.com
strncmp string function in C
Compare the first n characters for two strings. Return the integer ‘0’ if equal.
#include <stdio.h>
#include <string.h>
int main ()
{
char string1[20] = "CodingPanel";
char string2[20] = "CodingPanel.com";
if (strncmp (string1, string2, 7)
== 0)
{
printf ("The two strings are equal");
}
else
{
printf ("The two strings are not equal");
}
return 0;
}
Output
The two strings are equal
Summary
- C built-in functions are to read, write, compare, and manipulate string variables.
- The commonly used built-in string functions in C are: scanf(), printf(), gets(), strcat(), strrchr(), strcmp(), strcpy(), strlen(), strncat(), strncmp(), strncpy(), strrchr()
