0% found this document useful (0 votes)
52 views22 pages

Strings: Reading and Displaying Strings Passing Strings To Function String Handling Functions

This document discusses strings in C programming. It defines strings as arrays of characters terminated by a null character. It covers initializing and declaring string variables, reading and displaying strings, passing strings to functions, and common string handling functions like length, copy, concatenate, compare and reverse. It also discusses arrays of strings and provides examples to read and sort names stored as arrays of strings.

Uploaded by

Girija
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
52 views22 pages

Strings: Reading and Displaying Strings Passing Strings To Function String Handling Functions

This document discusses strings in C programming. It defines strings as arrays of characters terminated by a null character. It covers initializing and declaring string variables, reading and displaying strings, passing strings to functions, and common string handling functions like length, copy, concatenate, compare and reverse. It also discusses arrays of strings and provides examples to read and sort names stored as arrays of strings.

Uploaded by

Girija
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 22

Strings

Introduction
Reading and displaying strings
Passing strings to function
String handling functions
Introduction
• Strings are array of characters i.e. they are
characters arranged one after another in
memory. Thus, a character array is called
string.
• Each character within the string is stored
within one element of the array successively.
• A string is always terminated by a null
character (i.e. slash zero \0).
Arrays and Strings…
• Operations performed on character strings
include:
– Reading and writing strings
– Copying one string to another
– Combining strings together
– Comparing strings for equality
– Extracting a portion of a string
• A string variable is declared as an array of
characters.
• Syntax:
char string_name[size];
• E.g. char name[20];
• When the compiler assigns a character string
to a character array, it automatically supplies a
null character (‘\0’) at the end of the string
Initializing String Variables
• Strings are initialized in either of the following two forms:
char name[4]={‘R’,‘A’,‘M’, ‘\0’};
char name[]={‘R’,‘A’,‘M’, ‘\0’};

R A M \0
char name[4]=“RAM”;
name[0] name[1] name[2] name[3]
char name[]=“RAM”;
• When we initialize a character array by listing its
elements, the null terminator or the size of the array
must be provided explicitly.
Reading and displaying Strings
• It can be done manually.
Using printf() and scanf()
Using gets() and puts()
Passing String to function
String handling functions
• Strings need to be manipulated by
programmer.
• It can be done manually but is time
consuming.
Counting length of the string
#include <stdio.h>
#include <conio.h>
void main()
{
char input_string[50];
int i=0, length=0;
clrscr();
printf("\nEnter your text:\t");
gets(input_string);
while(input_string[i]!='\0')
{
length++;
i++;
}
printf("\nThe length of your text is: %d character(s)", length);
getch();
}
Copying one string to another
#include <stdio.h>
#include <conio.h>
void main()
{
char copy[50], paste[50];
int i;
clrscr();
printf("\nEnter your name (to copy):\t");
gets(copy);
for(i=0;copy[i]!='\0';i++)
{
paste[i]=copy[i];
}
paste[i]='\0';
printf("\nThe name is (pasted as):\t");
puts(paste);
getch();
}
• There are various string handling functions
define in string.h some of them are:
void main()
{
char input_string[50];
int length;
clrscr();
printf("\nEnter your text:\t");
gets(input_string);
length=strlen(input_string);
printf("\nThe length of your text is: %d character(s)", length);
getch();
}

14
void main()
{
char copy[50], paste[50];
int i;
clrscr();
printf("\nEnter your name (to copy):\t");
gets(copy);
strcpy(paste, copy);
printf("\nThe name is (pasted as):\t");
puts(paste);
getch();
}
15
void main()
{
char first_name[30]=“College " ;
char middle_name[]=" of Applied";
char last_name[]=" Business";
clrscr();
strcat(first_name,middle_name);
puts(first_name);
strcat(first_name,last_name);
puts(first_name);
getch();
}
16
void main()
{
char str1[30],str2[40];
int diff;
clrscr();
printf("Enter first string:\t");
gets(str1);
printf("\nEnter second string:\t");
gets(str2);
diff=strcmp(str1, str2);
if(diff>0)
printf("\n%s is greater than %s by ASCII value difference %d", str1,
str2, diff);
else if(diff<0)
printf("\n%s is smaller than %s by ASCII value difference %d", str1,
str2, diff);
else
printf("\n%s is same as %s", str1, str2);
getch();
}
17
void main()
{
char string[25];
clrscr();
printf("\nInput string to be reversed:");
gets(string);
strrev(string);
printf("\nThe reversed string is: %s", string);
getch();
}

18
Arrays of Strings
• String is array of characters.
• Thus an array of string is 2-D array of
characters.
• E.g.
char names[5][10];
• Here, names[5][10] means 5 names having 10
characters each.

19
Classwork
• WAP to read name of 5 persons using array of
strings and display them
• WAP to sort name of 5 persons in alphabetical
order
void main()
{
char names[5][10];
int i;
clrscr();
printf("\nEnter name of 5 persons:");
for(i=0;i<5;i++)
scanf("%s", names[i]);

printf("\nThe names are:");


for(i=0;i<5;i++)
printf("\n%s", names[i]);
getch();
}

21
void main()
{
char names[5][10],temp[10];
int i, j;
clrscr();
printf("\nEnter name of 5 persons:");
for(i=0;i<5;i++)
gets(names[i]);

for(i=0;i<5;i++)
{
for(j=i+1;j<5;j++)
{
if(strcmp(names[i], names[j])>0)
{
strcpy(temp, names[i]);
strcpy(names[i], names[j]);
strcpy(names[j], temp);
}
}
}
printf("\nNames in ascending order:\n");
for(i=0;i<5;i++)
puts(names[i]);
getch();
}

22

You might also like