Chapter 10: Characters, C- Strings, and More About the string Class

Similar documents
Chapter 10: Character Testing. From Program Character Case Conversion 8/23/2014. Character Testing. Character Case Conversion

Chapter 10: Characters, C- Strings, and More About the string Class Character Testing

Chapter 10 Characters, Strings, and the string class

Characters, c-strings, and the string Class. CS 1: Problem Solving & Program Design Using C++

System Design and Programming II

Converting a Lowercase Letter Character to Uppercase (Or Vice Versa)

Chapter 8 - Characters and Strings

CSCE 110 PROGRAMMING FUNDAMENTALS

Fundamentals of Programming. Lecture 11: C Characters and Strings

C: How to Program. Week /May/28

Engineering Problem Solving with C++, Etter

LECTURE 15. String I/O and cstring library

A function is a named group of statements developed to solve a sub-problem and returns a value to other functions when it is called.

Chapter 8 C Characters and Strings

Structured programming

String Class in C++ When the above code is compiled and executed, it produces result something as follows: cin and strings

Strings. Upsorn Praphamontripong. Note: for reference when we practice loop. We ll discuss Strings in detail after Spring break

Introduction to Algorithms and Data Structures. Lecture 6 - Stringing Along - Character and String Manipulation

Copyright 2003 Pearson Education, Inc. Slide 1

Topic 3. Big C++ by Cay Horstmann Copyright 2018 by John Wiley & Sons. All rights reserved

In this chapter, you will learn about: An Array Type for Strings. The Standard string Class. Vectors. Introduction Computer Science 1 CS 23021

today cs3157-fall2002-sklar-lect05 1

Scientific Programming in C V. Strings

Strings and Library Functions

C Style Strings. Lecture 11 COP 3014 Spring March 19, 2018

CSCI 6610: Intermediate Programming / C Chapter 12 Strings

BITG 1113: Array (Part 2) LECTURE 9

String Processing CS 1111 Introduction to Programming Fall 2018

C mini reference. 5 Binary numbers 12

Computer Programming

Muntaser Abulafi Yacoub Sabatin Omar Qaraeen. C Data Types

Characters and Strings

Introduction to string

Strings and Stream I/O

3. Functions. Modular programming is the dividing of the entire problem into small sub problems that can be solved by writing separate programs.

Outline. Computer Programming. Structure of a function. Functions. Function prototype. Structure of a function. Functions

EECS402 Lecture 08. Intro To The Standard string Class. Some string Functionality

CHAPTER 1 Introduction to Computers and Programming CHAPTER 2 Introduction to C++ ( Hexadecimal 0xF4 and Octal literals 031) cout Object

Object Oriented Programming COP3330 / CGS5409

Strings in C++ Dr. Ferdin Joe John Joseph Kamnoetvidya Science Academy

Strings and Streams. Professor Hugh C. Lauer CS-2303, System Programming Concepts

Chapter 8: Character & String. In this chapter, you ll learn about;

CS 115 Exam 3, Spring 2010

String Objects: The string class library

CS 31 Review Sheet. Tau Beta Pi - Boelter Basics 2. 2 Working with Decimals 2. 4 Operators 3. 6 Constants 3.

Lecture 12. We have already used strings. Strings. Hello Class is a string.

C PROGRAMMING. Characters and Strings File Processing Exercise

Decisions. Arizona State University 1

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

CSCI 123 INTRODUCTION TO PROGRAMMING CONCEPTS IN C++

C Libraries. Bart Childs Complementary to the text(s)

Computer Science XII Important Concepts for CBSE Examination Questions

Unit 2: The string class

CS3157: Advanced Programming. Outline

Appendix A. ASCII Character Set

C-String Library Functions

cs3157: another C lecture (mon-21-feb-2005) C pre-processor (3).

CSCI 6610: Review. Chapter 7: Numbers Chapter 8: Characters Chapter 11 Pointers

Module 4 Arrays, Strings, and Pointers

CS107, Lecture 4 C Strings

CISC 1110 (CIS 1.5) Introduc2on to Programming Using C++

Chapter 5 - Pointers and Strings

CCE1111 Programming for Engineers [C Programming Language]

Chapter 5 - Pointers and Strings

Chapter 10. Arrays and Strings

3.1. Chapter 3: Displaying a Prompt. Expressions and Interactivity

CS107 Spring 2019, Lecture 4 C Strings

LECTURE 02 INTRODUCTION TO C++

Iosif Ignat, Marius Joldoș Laboratory Guide 9. Character strings CHARACTER STRINGS

Chapter 5. Section 5.4 The Common String Library Functions. CS 50 Hathairat Rattanasook

Chapter 8: More About Strings. COSC 1436, Summer 2018 Dr. Zhang 7/10/2018

SWEN-250 Personal SE. Introduction to C

C++ Arrays. Arrays: The Basics. Areas for Discussion. Arrays: The Basics Strings and Arrays of Characters Array Parameters

Character Functions & Manipulators Arrays in C++ CS 16: Solving Problems with Computers I Lecture #10

Pointers and Strings Prentice Hall, Inc. All rights reserved.

SYSC 2006 C Winter String Processing in C. D.L. Bailey, Systems and Computer Engineering, Carleton University

Name. CPTR246 Spring '17 (100 total points) Exam 2

Working with Strings. Lecture 2. Hartmut Kaiser. hkaiser/spring_2015/csc1254.html

CSCE150A. Introduction. Basics. String Library. Substrings. Line Scanning. Sorting. Command Line Arguments. Misc CSCE150A. Introduction.

Computer Science & Engineering 150A Problem Solving Using Computers. Chapter 9. Strings. Notes. Notes. Notes. Lecture 07 - Strings

The string Class. Lecture 21 Sections 2.9, 3.9, Robb T. Koether. Wed, Oct 17, Hampden-Sydney College

Computer Science & Engineering 150A Problem Solving Using Computers

Exercise 1.1 Hello world

! A C-string is a sequence of characters stored in consecutive memory locations and terminated by a null character ( \0').

CSc Introduc/on to Compu/ng. Lecture 17 Edgardo Molina Fall 2011 City College of New York


Applied C and C++ Programming

Topic 2. Big C++ by Cay Horstmann Copyright 2018 by John Wiley & Sons. All rights reserved

Reading Assignment. Strings. K.N. King Chapter 13. K.N. King Sections 23.4, Supplementary reading. Harbison & Steele Chapter 12, 13, 14

CS106X Handout 04 Autumn 2009 September 25 th, 2009 C++ Strings

Object oriented programming C++

Assignment 5: MyString COP3330 Fall 2017

std::string Quick Reference Card Last Revised: August 18, 2013 Copyright 2013 by Peter Chapin

Working with Sequences: Section 8.1 and 8.2. Bonita Sharif

Strings are actually 'objects' Strings

CS150 Intro to CS I. Fall Fall 2017 CS150 - Intro to CS I 1

Lecture 10. Command line arguments Character handling library void* String manipulation (copying, searching, etc.)

CS106X Handout 04 Winter 2018 January 8 th, 2018 C++ Strings

C Programming. Unit 9. Manipulating Strings File Processing.

1 Pointer Concepts. 1.1 Pointer Examples

Transcription:

Chapter 10: Characters, C- Strings, and More About the string Class

10.1 Character Testing

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

From Program 10-1

10.2 Character Case Conversion

Character Case Conversion Require cctype header file Functions: toupper: if char argument is lowercase letter, return uppercase equivalent; otherwise, return input unchanged char ch1 = 'H'; char ch2 = 'e'; char ch3 = '!'; cout << toupper(ch1); // displays 'H' cout << toupper(ch2); // displays 'E' cout << toupper(ch3); // displays '!'

Character Case Conversion Functions: tolower: if char argument is uppercase letter, return lowercase equivalent; otherwise, return input unchanged char ch1 = 'H'; char ch2 = 'e'; char ch3 = '!'; cout << tolower(ch1); // displays 'h' cout << tolower(ch2); // displays 'e' cout << tolower(ch3); // displays '!'

10.3 C-Strings

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

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()

10.4 Library Functions for Working with C-Strings

Library Functions for Working with C- Strings Require the cstring header file Functions take one or more C-strings as arguments. Can use: C-string name pointer to C-string literal string

Library Functions for Working with C-Strings Functions: 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"

Library Functions for Working with C-Strings Functions: 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.

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"

10.5 C-String/Numeric Conversion Functions

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 C-string converts C-string to a long value, returns the value atof C-string converts C-string to a double value, returns the value itoa int,c-string, int converts 1 st int parameter to a C-string, stores it in 2 nd parameter. 3 rd parameter is base of converted value

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 1234 10 ) in intchar

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

10.6 Writing Your Own C-String Handling Functions

10.6 Writing Your Own C-String Handling Functions

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

From Program 10-9

From Program 10-10

10.7 More About the C++ string Class

The C++ string Class Special data type 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;

Input into a string Object Use cin >> to read an item into a string: string firstname; cout << "Enter your first name: "; cin >> firstname;

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);

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

Other Definitions of C++ strings Definition string name; string myname("chris"); string yourname(myname); Meaning defines an empty string object defines a string and initializes it defines a string and initializes it 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

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

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"

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 See Table 10-7 for a list of functions

string Member Functions string word1, word2, phrase; cin >> word1; // word1 is "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"