Presentation is loading. Please wait.

Presentation is loading. Please wait.

C++ PROGRAMMING: PROGRAM DESIGN INCLUDING DATA STRUCTURES, FIFTH EDITION Chapter 10: Strings and string type.

Similar presentations


Presentation on theme: "C++ PROGRAMMING: PROGRAM DESIGN INCLUDING DATA STRUCTURES, FIFTH EDITION Chapter 10: Strings and string type."— Presentation transcript:

1 C++ PROGRAMMING: PROGRAM DESIGN INCLUDING DATA STRUCTURES, FIFTH EDITION Chapter 10: Strings and string type

2 Objectives 2 Learn about C -strings Examine the use of string functions to process C -strings Discover how to input data into—and output data from—a C -string

3 string Type  To use the data type string, the program must include the header file string  The statement: string name = "William Jacob"; declares name to be a string variable and also initializes name to "William Jacob"  The first character, 'W', is in position 0  The second character, 'i', is in position 1  name is capable of storing any size string C++ Programming: Program Design Including Data Structures, Fifth Edition 3

4 string Type (cont'd.)  Binary operator + have been defined for the data type string  + performs the string concatenation operation  Example: str1 = "Sunny"; str2 = str1 + " Day"; stores "Sunny Day" into str2 4

5 Example 8-14: clear, empty, erase, length, AND size FUNCTIONS 5 Please check the textbook: chapter 8, page 462, Table 8-1 for other string functions // 0 // 1 strVar.erase(pos, n): deleting n chars from strVar starting at position pos.

6 Example 8-15: find FUNCTION 6 - strVar.find(str): return the index of the first occurrence of str in strVar. - strVar.find(str, pos): return the index of the first occurrence at or after pos where str is found in strVar. // 4294967295

7 Example 8-16: insert AND replace FUNCTIONS 7 - strVar.insert(pos, str): insert all the characters of str at index pos into strVar. - strVar.insert(pos, n, str): insert n occurrences of the character str at index pos into strVar.

8 Example 8-17: substr FUNCTION 8 - strVar.substr(pos, len): returning a string that is a substring of strVar starting at pos

9 Example 8-18: swap FUNCTION 9 - strVar.swap(str): swaps the contents of strVar and str.

10 C- Strings (Character Arrays) 10  Character array: an array whose components are of type char  C -strings is an array of characters ending with the null- terminated ( '\0' )  Example:  'A' is the character A  "A" is the C -string A "A" represents two characters, 'A' and '\0‘  Char City1[] = “Dallas”; // C-string  Char City1[] = {‘D’, ‘a’, ‘l’, ‘l’, ‘a’, ‘s’}; //Char array

11 C- Strings (Character Arrays) (cont'd.) 11  Consider the statement char name[16] = “Hello”;  Since C -strings are null terminated and name has 16 components, the largest string that it can store has 15 characters  If you store a string of length, say 10 in name  The first 11 components of name are used and the last five are left unused

12 C- Strings (Character Arrays) (cont'd.) 12 The statement char name[16] = {‘J’,’o’,’h’,’n’,’\0’}; declares an array name of length 16 of type char and stores the C -string "John" in it The statement char name[] = "John"; declares an array name of length 5 and stores the C - string "John" in it. char name[16] = {‘J’,’o’,’h’,’n’,’\0’}; = char name[] = "John";

13 C- Strings (Character Arrays) (cont'd.) 13

14 String Comparison 14  C -strings are compared character by character using the collating sequence of the system  If we are using the ASCII character set  "Air" < "Boat"  "Air" < "An"  "Bill" < "Billy"  "Hello" < "hello"

15 String Comparison (cont’d.) 15 Example_9-6.cpp

16 Reading and Writing Strings 16 Most rules that apply to arrays apply to C -strings as well Aggregate operations, such as assignment and comparison, are not allowed on arrays The one place where C++ allows aggregate operations on arrays is the input and output of C - strings (that is, character arrays)

17 String Input 17  Assume we declare char name[31];  cin >> name; stores the next input C - string into name  To read strings with blanks, use get : cin.get(str, m+1);  Stores the next m characters into str but the newline character is not stored in str  If the input string has fewer than m characters, the reading stops at the newline character

18 String Output 18  cout << name; outputs the content of name on the screen  << continues to write the contents of name until it finds the null character  If name does not contain the null character, then we will see strange output << continues to output data from memory adjacent to name until '\0' is found

19 Class Activity 19  Consider the following statement: char str1[16], str2[16]; cin.get(str1,3); cin.get(str2,4); cout << str1; cout << str2;  What is the value of str1, str2 and final output for the following input: C++ Programming Answer: str1={‘C’,‘+’,‘\0’} str2={‘+’,‘ ’,‘P’,‘\0’} Final output: C++ P ‘ cin.get.cpp

20 Class Activity 20  Consider the following statement: char str1[16], str2[16], discard; cin.get(str1,17); cin.get(discard); cin.get(str2,4); cout << str1; cout << str2;  What is the value of str1, str2 and final output for the following input: C++ Programming Answer: str1={‘C’,‘+’,,‘+’,‘ ’,‘P’,‘r’,‘o’, ‘g’,‘r’,‘a’,‘m’,‘m’,‘i’,‘n’,‘g’,‘\0’} str2={‘C’,‘+’,‘+’,‘\0’} Final output: C++ ProgrammingC++ ‘

21 Arrays of Strings 21  Strings in C++ can be manipulated using either the data type string or character arrays ( C -strings)

22 Arrays of Strings and the string Type 22  To declare an array of 100 components of type string : string list[100];  Basic operations, such as assignment, comparison, and input/output, can be performed on values of the string type  The data in list can be processed just like any one-dimensional array

23 Arrays of Strings and C -Strings (Character Arrays) 23

24 Summary 24  In C++, C -strings are null terminated and are stored in character arrays  Commonly used C -string manipulation functions include:  strcpy, strcmp, and strlen


Download ppt "C++ PROGRAMMING: PROGRAM DESIGN INCLUDING DATA STRUCTURES, FIFTH EDITION Chapter 10: Strings and string type."

Similar presentations


Ads by Google