Learn How to Program in C

by
Dr. Kristin Switala

Introduction

Directives

Variables

Conditionals

Loops

Arrays

Pointers

Strings

Functions

Structures


Site Map

Strings (b)

In This Section:
C Library Functions for Strings: strcpy, strlen


C Library Functions for Strings

C comes with libraries of special functions, that we can use in our programs. These functions are stored in the string header file, <string.h>, which we include at the beginning of our program:

#include<string.h>

Here is a list of string library functions:

strcpy

copies a string

strlen

calculates the length of a string

strcmp

compares two strings

stricmp

compares two strings, ignoring uppercase/lowercase differences

strcat

concatenates (joins) two strings

strstr

searches a string for a pattern

Let's examine each of these string library functions.


strcpy: copy a string

You can copy (replace) a string using the strcpy function. For example, I have a bagel every morning for breakfast. Sometimes I replace the bagel with a bowl of cereal. Here is how I would express that in C:

  1. include the string header: #include<string.h>
  2. initialize my variables:
    • char old[6] = "bagel";
    • char new[15] = "bowl of cereal";
  3. use the strcpy function to replace bagel with bowl of cereal: strcpy(old, new);
  4. print a statement about the bowl of cereal: printf("\nToday I ate a %s", old);

Let's put it all together:

#include<stdio.h>
#include<string.h>
void main( )
{
char old[6] = "bagel";
char new[15] = "bowl of cereal";
printf("\nYesterday I ate a %s", old);
strcpy(old, new);
printf("\nToday I ate a %s", old);
}

Type this source code in your editor and save it as bagel.c then compile it, link it, and run it.

Now let's replace a variable twice. During the late 1700s and early 1800s, British surveyers mapped India. The three most famous surveyers were Colin Mackenzie, William Lambton, and George Everest (for whom Mt. Everest is named). Here is a program that presents this information, using the strcpy function:

#include<stdio.h>
#include<string.h>
void main( )
{
char one[20] = "Colin Mackenzie";
char two[20] = "William Lambton";
char three[20] = "George Everest";
printf("Three great surveyers mapped India.");
printf("\nFirst: %s", one);
strcpy(one, two);
printf("\nSecond: %s", one);
strcpy(one, three);
printf("\nThird: %s", one);
}

Type this source code in your editor and save it as india.c then compile it, link it, and run it.


strlen: string length

There is an easy way to calculate the length of a string. Use the strlen function:

  1. initialize a string variable with no number: char survey[ ]
  2. initialize a variable to store the length of the string: int length;
  3. calculate the length of the string using strlen: length = strlen(survey);

Here is the program:

#include<stdio.h>
#include<string.h>
void main( )
{
char survey[ ] = "The Great Trigonometical Survey of India";
int length;
length = strlen(survey);
printf("%s has %d characters.", survey, length);
}

Type this source code in your editor and save it as trig.c then compile it, link it, and run it.

Copyright
© 2001
Kristin Switala
Hosted by www.Geocities.ws

1