Standard Version of Starting Out with C++, 4th Edition

Slides:



Advertisements
Similar presentations
LECTURE 17 C++ Strings 18. 2Strings Creating String Objects 18 C-string C++ - string \0 Array of chars that is null terminated (‘\0’). Object.
Advertisements

C Characters & Strings Character Review Character Handling Library Initialization String Conversion Functions String Handling Library Standard Input/Output.
 2003 Prentice Hall, Inc. All rights reserved Fundamentals of Characters and Strings Character constant –Integer value represented as character.
Strings.
1 Chapter 10 Strings and Pointers. 2 Introduction  String Constant  Example: printf(“Hello”); “Hello” : a string constant oA string constant is a series.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 122 – Data Structures Characters and Strings.
Current Assignments Homework 5 will be available tomorrow and is due on Sunday. Arrays and Pointers Project 2 due tonight by midnight. Exam 2 on Monday.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 12: More on C-Strings and the string Class Starting Out with.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 8- 1 Overview 8.1 An Array Type for Strings 8.2 The Standard string.
Lesson 10 Characters, C-Strings, and the string Class CS1 Lesson John Cole1.
Chapter 10.
Chapter 8 Characters and Strings Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 8 - Characters and Strings Outline 8.1Introduction.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Sixth Edition Chapter 12: More About.
CS Nov 2006 C-strings.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 12 More.
C-strings and C++ string Class
 2007 Pearson Education, Inc. All rights reserved C Characters and Strings.
1 Chapter 10 Characters, Strings, and the string class.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Chapter 8 Strings and Vectors (8.1 and 8.2). An Array of characters Defined as: char firstName[20]; char firstName[] = {‘T’, ‘i’, ‘m’}; // an array of.
Lecture 17: Characters, Strings, and the string class Professor: Dr. Miguel Alonso Jr. Fall 2008 CGS2423/COP1220.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 8 - Characters and Strings Outline 8.1Introduction 8.2Fundamentals of Strings and Characters 8.3Character.
February 14, 2005 Characters, Strings and the String Class.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 12: More on C-Strings and the string Class Starting Out with.
Chapter 10. Characters, Strings and the string class Csc 125 Introduction to C++ Fall 2005.
Character Arrays Based on the original work by Dr. Roger deBry Version 1.0.
Copyright © 2012 Pearson Education, Inc. Chapter 10: Characters, C- Strings, and More About the string Class.
Chapter 13 – C++ String Class. String objects u Do not need to specify size of string object –C++ keeps track of size of text –C++ expands memory region.
Scott Marino MSMIS Kean University MSAS5104 Programming with Data Structures and Algorithms Week 11 Scott Marino.
Copyright © 2012 Pearson Education, Inc. Chapter 10: Characters, C- Strings, and More About the string Class.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10: Characters, Strings, and the string class.
Characters, Strings, And The string Class Chapter 10.
1 Object-Oriented Programming -- Using C++ Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 10: Characters, C- Strings, and More About.
12/15/2015Engineering Problem Solving with C++, Second Edition, J. Ingber 1 Engineering Problem Solving with C++, Etter Chapter 6 One-Dimensional Arrays.
C++ for Engineers and Scientists Second Edition Chapter 7 Completing the Basics.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 10 Characters, Strings, and the string class.
C++ STRINGS ● string is part of the Standard C++ Library ● new stuff: ● cin : standard input stream (normally the keyboard) of type istream. ● >> operator.
Chapter Characters, Strings, and the string class 10.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Eighth Edition by Tony Gaddis,
A FIRST BOOK OF C++ CHAPTER 14 THE STRING CLASS AND EXCEPTION HANDLING.
Strings, and the string Class. C-Strings C-string: sequence of characters stored in adjacent memory locations and terminated by NULL character The C-string.
Principles of Programming - NI Chapter 10: Character & String : In this chapter, you’ll learn about; Fundamentals of Strings and Characters The difference.
EC-111 Algorithms & Computing Lecture #10 Instructor: Jahan Zeb Department of Computer Engineering (DCE) College of E&ME NUST.
Characters, Strings, and the cstring Library
C Characters and Strings
C-Strings We have already seen that a C-string is a null-terminated array of characters.
Chapter 8 Strings and Vectors 1
Chapter 8 Strings and Vectors
C Characters and Strings
Fundamentals of Characters and Strings
Characters, Strings, and the cstring Library
String Processing Upsorn Praphamontripong CS 1110
Characters, C-Strings, and More About the string Class
CSE 303 Lecture 14 Strings in C
Chapter 8 - Characters and Strings
Chapter 12: More on C-Strings and the string Class
Standard Version of Starting Out with C++, 4th Edition
Object Oriented Programming COP3330 / CGS5409
C Stuff CS 2308.
C++ STRINGS string is part of the Standard C++ Library
10.1 Character Testing.
CPS120: Introduction to Computer Science
Engineering Problem Solving with C++, Etter
C++ Programming Lecture 20 Strings
Today’s Objectives 28-Jun-2006 Announcements
C Characters and Strings
Chapter 12: More on C-Strings and the string Class
Presentation transcript:

Standard Version of Starting Out with C++, 4th Edition Chapter 10 Characters, Strings, and the string class Copyright 2003 Scott/Jones Publishing

Topics 10.1 Character Testing 10.2 Character Case Conversion 10.3 Review of the Internal Storage of C-Strings 10.4 Library Functions for Working with C-Strings 10.5 String/Numeric Conversion Functions 10.6 Writing Your Own C-String Handling Functions 10.8 The C++ string Class Chapter 10 slide 2

10.1 Character Testing require cctype header file FUNCTION MEANING isalpha true if arg. is a letter, false otherwise isalnum true if arg. is a letter or digit, false otherwise isdigit true if arg. is a digit 0-9, false otherwise islower true if arg. is lowercase letter, false otherwise isprint true if arg. is a printable character, false otherwise ispunct true if arg. is a punctuation character, false otherwise isupper true if arg. is an uppercase letter, false otherwise isspace true if arg. is a whitespace character, false otherwise Chapter 10 slide 3

10.2 Character Case Conversion require cctype header file functions: toupper: if char argument is lowercase letter, return uppercase equivalent; otherwise, return input unchanged char greeting[] = "Hello!"; cout << toupper[0]; // displays 'H' cout << toupper[1]; // displays 'E' cout << toupper[5]; // displays '!' Chapter 10 slide 4

Character Case Conversion functions: tolower: if char argument is uppercase letter, return lowercase equivalent; otherwise, return input unchanged char greeting[] = "Hello!"; cout << tolower[0]; // displays 'h' cout << tolower[1]; // displays 'e' cout << tolower[5]; // displays '!' Chapter 10 slide 5

10.3 Review of the Internal Storage of C-Strings C-string: sequence of characters stored in adjacent memory locations and terminated by NULL character String literal (string constant): sequence of characters enclosed in double quotes " " : "Hi there!" H i t h e r e ! \0 Chapter 10 slide 6

Review of the Internal Storage of C-Strings Array of chars can be used to define storage for string: const int SIZE = 20; char city[SIZE]; Leave room for NULL at end Can enter a value using cin or >> Input is whitespace-terminated No check to see if enough space For input containing whitespace, and to control amount of input, use cin.getline() Chapter 10 slide 7

10.4 Library Functions for Working with C-Strings require cstring header file functions take one or more C-strings as arguments. Can use: C-string name pointer to C-string literal string Chapter 10 slide 8

Library Functions for Working with C-Strings strlen(str): returns length of C-string str char city[SIZE] = "Missoula"; cout << strlen(city); // prints 8 strcat(str1, str2): appends str2 to the end of str1 char location[SIZE] = "Missoula, "; char state[3] = "MT"; strcat(location, state); // location now has "Missoula, MT" Chapter 10 slide 9

Library Functions for Working with C-Strings strcpy(str1, str2): copies str2 to str1 const int SIZE = 20; char fname[SIZE] = "Maureen", name[SIZE]; strcpy(name, fname); Note: strcat and strcpy perform no bounds checking to determine if there is enough space in receiving character array to hold the string it is being assigned. Chapter 10 slide 10

C-string Inside a C-string Function: strstr(str1, str2): finds the first occurrence of str2 in str1. Returns a pointer to match, or NULL if no match. char river[] = "Wabash"; char word[] = "aba"; cout << strstr(state, word); // displays "abash" Chapter 10 slide 11

10.5 String/Numeric Conversion Functions require cstdlib header file FUNCTION PARAMETER ACTION atoi C-string converts C-string to an int value, returns the value atol converts C-string to a long value, returns the value atof converts C-string to a double value, returns the value itoa int,C-string, int converts 1st int parameter to a C-string, stores it in 2nd parameter. 3rd parameter is base of converted value Chapter 10 slide 12

String/Numeric Conversion Functions int iNum; long lNum; double dNum; char intChar[10]; iNum = atoi("1234"); // puts 1234 in iNum lNum = atol("5678"); // puts 5678 in lNum dNum = atof("35.7"); // puts 35.7 in dNum itoa(iNum, intChar, 8); // puts the string // "2322" (base 8 for 123410) in intChar Chapter 10 slide 13

String/Numeric Conversion Functions - Notes if C-string contains non-digits, results are undefined function may return result up to non-digit function may return 0 itoa does no bounds checking – make sure there is enough space to store the result Chapter 10 slide 14

10.6 Writing Your Own C-String Handling Functions Designing C-String Handling Functions can pass arrays or pointers to char arrays Can perform bounds checking to ensure enough space for results Can anticipate unexpected user input Chapter 10 slide 15

10.8 The C++ string Class Special datatype supports working with strings #include <string> Can define string variables in programs: string firstName, lastName; Can receive values with assignment operator: firstName = "George"; lastName = "Washington"; Can be displayed via cout cout << firstName << " " << lastName; Chapter 10 slide 16

Input into a string Object Use getline function to put a line of input, possibly including spaces, into a string: string address; cout << "Enter your address: "; getline(cin,address); Chapter 10 slide 17

string Comparison Can use relational operators directly to compare string objects: string str1 = "George", str2 = "Georgia"; if (str1 < str2) cout << str1 << " is less than " << str2; Comparison is performed similar to strcmp function. Result is true or false Chapter 10 slide 18

Other Definitions of C++ strings Meaning string name; defines an empty string object string myname("Chris"); defines a string and initializes it string yourname(myname); string aname(myname, 3); defines a string and initializes it with first 3 characters of myname string verb(myname,3,2); defines a string and initializes it with 2 characters from myname starting at position 3 string noname('A', 5); defines string and initializes it to 5 'A's Chapter 10 slide 19

string Operators OPERATOR MEANING >> extracts characters from stream up to whitespace, insert into string << inserts string into stream = assigns string on right to string object on left += appends string on right to end of contents on left + concatenates two strings [] references character in string using array notation >, >=, <, <=, ==, != relational operators for string comparison. Return true or false Chapter 10 slide 20

string Operators string word1, phrase; string word2 = " Dog"; cin >> word1; // user enters "Hot Tamale" // word1 has "Hot" phrase = word1 + word2; // phrase has // "Hot Dog" phrase += " on a bun"; for (int i = 0; i < 16; i++) cout << phrase[i]; // displays // "Hot Dog on a bun" Chapter 10 slide 21

string Member Functions Are behind many overloaded operators Categories: assignment: assign, copy, data modification: append, clear, erase, insert, replace, swap space management: capacity, empty, length, resize, size substrings: find, substr comparison: compare Chapter 10 slide 22

string Member Functions string word1, word2, phrase; cin >> word1; // word1 has "Hot" word2.assign(" Dog"); phrase.append(word1); phrase.append(word2); // phrase has "Hot Dog" phrase.append(" with mustard relish", 13); // phrase has "Hot Dog with mustard" phrase.insert(8, "on a bun "); cout << phrase << endl; // displays // "Hot Dog on a bun with mustard" Chapter 10 slide 23

Standard Version of Starting Out with C++, 4th Edition Chapter 10 Characters, Strings, and the string class Copyright 2003 Scott/Jones Publishing