C-and-C++/C3/Strings/English

From Script | Spoken-Tutorial
Revision as of 12:23, 13 December 2013 by Ashwini (Talk | contribs)

Jump to: navigation, search

Title of script: Strings

Author: Ashwini R Patil

Keywords: Strings in C, getline, Video Tutorial


Visual Cue
Narration
Slide 1


Welcome to the spoken-tutorial on Strings in C and C++
Slide 2

Learning Objectives

In this tutorial, we will learn,

What is a string.

Declaration of a string.

Initialization of a string.

Few examples on string.

We will also see some common errors and their solutions

Slide 3

System Requirements

To record this tutorial, I am using

Ubuntu Operating System version 11.04

gcc and g++ Compiler version 4.6.1

Slide 4

Introduction to strings

Let us start with the Introduction to the Strings

String is a sequence of characters that is treated as a single data item

size of string = length of string + 1

Slide 5

Declaration of the String

Syntax:

char val[10];

Let me tell you how to declare a string

The syntax for this is

char name_of_string[size];

char, name of string and size

char is the data type, name of the string is the string name, and we can give the size here.

Eg: here we have declared a character string names with size 30

Please open the Terminal


Now we will see an example

I have already typed the program

I will open it

Note that our file name is string.c

In this program we will take a string as an input from the user and print it

Let me explain the code now

Highlight

#include<string.h>

These are out header files

here string.h includes the declarations, functions, constants of string handling utilities

Whenever we work on string functions, we should include this header file

Highlight

char strname[30];

This is our main function

Here we are declaring the string 'strname' with size '30'

Highlight

printf("Enter the string\n");

Here we are accepting a string from the user
Highlight

scanf("%[^\n]s",strname);


To read a string, we can use scanf() function with format specifier %s

We are using the caret sign and \n to include the spaces with the string

Type:

printf("The string is %s\n", strname);

Then we print the string

And this is our return statement

Save the program Now click on Save
Execution of the program

On the terminal


Let us execute the program

Please open the terminal window by pressing Ctrl, Alt and T keys simultaneously on your keyboard

Type

gcc strdeclare.c str

>> press Enter

To compile

Type

gcc space string.c space -o space str

And press Enter

Type

./str

>> press Enter

To execute,

type

./str

now press Enter

Here it is displayed as Enter the string
Type

Talk To A Teacher >> press Enter


I will type

Talk To A Teacher

now press Enter

Highlight

Output

The output is displayed as

The string is Talk To A Teacher

Slide 6


Initialization of the string


Syntax:


char strinitialize[20] = “star”;


(or)


char strinitialize[] = {'S', 't', 'r'};

Now let us switch back to our slides


Until now we discussed about the declaration of a string

Now we are going to discuss how to initialize the string

The syntax for this is

char var_name[size] = “string”;

eg: here we have declared a character string names with size 30 and the string is Priya

Another syntax is

char var_name[ ] = {'S', 't', 'r', 'i', 'n', 'g'}; within single quotes

eg: char names[10] = {'P', 'r', 'i', 'y', 'a'}; in single quotes



Please switch to the Text editor


Let me show you how to use the first syntax with an example

Switch back to our Editor

We will use the same example



Click on

File >> Save as option

Type

strinitialize.c

First press shift, cntrl and s key simultaneously on your keyboard

now save the file with the name strinitialize.c

Click on save Now click Save
Type


char name[30] = "Talk To A Teacher";


We are going to intialize this string

Hence at the 5th line type

= and within double quotes “Spoken- Tutorial”;

now click on save



Delete

printf("Enter the string\n");

scanf("%[^\n]s",strname);

Now remove these two lines

as we are only going to print the string

click on save

Save the program let us execute
On the terminal

Type

gcc strinitialize.c -o str1


Come back to our terminal

To compile

Type

gcc space stringintialize.c space -o space str2

To execute

Type

./str1

Here we have str2 because we dont want to overwrite the output parameter str for the file string.c

now press Enter

To execute type ./str2

Highlight

Output

The output is displayed as

The string is Spoken-Tutorial

Error1

Type

sting.h

Now we will see some common errors which we can come across

Come back to our program

Suppose here we type the spelling of string as

sting

Click on Save Now click on Save
On the terminal Let us execute, come back to the terminal
Compile and execute as before


gcc strinitialize.c -o str1


./str1

Now compile as before

We see a fatal error

sting.h no such file or directory

compilation terminated

On the editor, correct the spelling Come back to the program

This is because the compiler is not able to find the header file with the name sting.h

Hence it is giving an error

Let us fix the error

Type r here

now click on save

On the terminal Let us execute again

Come back to our terminal

Compile as before, execute as before

Yes it is working!

Error2

Type

int

Now let us see another common error

come back to our program

Suppose here I will type int in place of char

now click on save

Let us see what happens

Come back to our terminal

On the terminal Let me clear the prompt

Compile as before

We see an error

Wide charactr array initialized from non-wide string

format %s expects argument of type 'char'

But argument 2 has type 'int'

come back to our program

this is because we used %s as the format specifier for string

And we are initializing it with an integer data type int

On the editor Let us fix the error

Type 'char' here

click on save

let us execute



Click on save Click on Save
On the terminal Come back to our terminal

Compile as before, execute as before

Yes it is working!
On the editor NOW WE WILL SEE HOW TO EXECUTE THE SAME PROGRAM IN C++

Come back to our program

Click on File


Save as

Type

.cpp

Let me open our file string.c

We will edit the code here

First press shift, cntrl and S key simultaneously on your keyboard


Now save the file with an extension .cpp

and click on save

Type

iostream

Now we will change the header file as

iostream

Type


#include <string>

Include the using statement

now click on save

now we will delete this declaration

Type

string strname;

and declare a string variable, type string space strname and a semicolon

Click on save

Type

cout <<

Replace the printf statement with cout statement

delete the closing bracket here



Delete scanf

Type

getline(cin, strname);


Delete the scanf statement and

Type

getline(cin, strname) at the end type a ;

Type

cout <<"The string is " <<strname <<"\n";


In place of

printf("The string is %s\n",strname);

Again replace the printf statement with cout statement

Delete the format specifier and \n

Now delete the ,

Type two opening angle brackets, delete the bracket here

type two opening angle brackets and within the double quotes type \n

Click on save And click on Save
we have declared a string variable 'strname'

since we do not use the format specifier in C++

the compiler should know that strname is a string variable

Here we use getline to extract the characters from the input sequence, it stores them as a string

On the terminal Now let us execute the program, Come back to our terminal
Let me clear the prompt
Type

g++ string.cpp -o str1

To compile type

g++ space string.cpp space -o space str3

and press Enter

Type

./str1

To execute type

./str3

Press enter

Highlight >> type Talk To A Teacher It is displayed as Enter the string

I will enter as Talk To A Teacher

Now press Enter

The output is displayed as

The string is Talk To A Teacher

We can see that the output is similar to our C code

Now come back to our slides

Slide 7 Let us summarize

In this tutorial we learnt

Strings

  • Declaration of a string

eg: char strname[30]

  • Initialization of a string

eg: char strname[30] = “Talk To A Teacher”



Slide 8

Assignment

As an assignment

Write a program to print a string using the 2nd syntax

Slide 9


About the Spoken Tutorial Project

Watch the video available at the link shown

http://spoken-tutorial.org /What\_is\_a\_Spoken\_Tutorial

It summarises the Spoken Tutorial project

If you do not have good bandwidth, you can download and watch it

Slide 10

Spoken Tutorial Workshops


The Spoken Tutorial Project Team

Conducts workshops using spoken tutorials

Gives certificates to those who pass an online test

For more details, Please write to

contact@spoken-tutorial.org

Slide 11


Acknowledgement

Spoken Tutorial Project is a part of the Talk to a Teacher project

It is supported by the National Mission on Education through ICT, MHRD, Government of India

More information on this Mission is available at: http://spoken-tutorial.org\NMEICT-Intro

Ashwini Patil from IIT Bombay

Thank You for joining

Contributors and Content Editors

Ashwini, Nancyvarkey