Tài liệu lập trình C tiếng Việt lesson 10 String

36 456 0
Tài liệu lập trình C tiếng Việt lesson 10 String

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lập trình hướng đối tượng Bài 9: String Giới thiệu • Chuỗi (string) danh sách ký tự – c string – c++ string class • Thí dụ: “hello”, “high school”, “H2O” • Các phép toán chuỗi gồm: – Cộng: “high”+“school”=“highschool” – So sánh: “high”> • cin >> stringObject; • Toán tử >> định dạng liệu mà nhận từ luồng vào, bỏ qua khoảng trắng – Unformatted Input: hàm getline • getline( cin, s) – Không bỏ qua khoảng trắng – Kết thúc ký tự xuống dòng – Đọc toàn dòng ký tự vào s string s = “ABCDEFG”; getline(cin, s); //reads entire line of characters into s char c = s[2]; //assigns ‘C’ to c S[4] = ‘*’; //changes s to “ABCD*FG” C++ String – Không thiết phải kết thúc null – string trỏ mà lớp – Nhiều hàm thành phần với tham số vị trí bắt đầu chiều dài • Nếu đối chiều dài lớn, giá trị max chọn Tạo đối tượng string #include //string initialization string s; //s contains characters string s1( "Hello" ); //s1 contains characters string s2 = “Hello”; //s2 contains characters //implicitly calls the constructor string s3( 8, 'x' ); //s3 contains 'x' characters string s4 = s3; //s4 contains 'x' characters string s5(s2, 3, 2); //s5 copies a substring of s2; it contains ”lo” Đối tượng string • Đối tượng string chuyển sang C-String string s = “ABCDEFG”; const char* cs = s.c_str(); Hàm c_str() trả dạng const char* Đối tượng string Hàm length() trả số ký tự chuỗi cout [...]... tượng string C thể c ng c c chuỗi C+ + sử dụng toán tử + và +=: string s = “ABCD*FG”; string s2 = “Robot”; string s5 = “Soccer”; string s6 = s + “HIJK”; //changes s6 to “ABCD*FGHIJK s2 += s5; //changes s2 to “RobotSoccer” 11 Đối tượng string Hàm: substr() s6 = “ABCD*FGHIJK”; s4 = s6.substr(5, 3); //changes s4 to “FGH” s4 là chuỗi con c a s6, bắt đầu từ vị trí thứ 5 và lấy 3 ký tự 12 Đối tượng string. .. từ int ho c char – C c câu lệnh sau c thể gây ra lỗi ho c chỉ c nh báo (warning) nhưng c thể làm đổ vỡ chương trình sau đó • • • • string string string string error1 = 'c' ; error2( 'u' ); error3 = 22; error4( 8 ); – Tuy nhiên c thể gán một ký tự (char) vào chuỗi sau khi khai báo nó: • s = 'n'; 29 Luồng chuỗi (String Stream) • Cho phép dùng chuỗi như 1 file bên trong • Hữu dụng cho vi c tạo bộ đệm... end); Inserts characters at the specified position push_back(char ch); Inserts a character at the end of the string replace(size_t pos, size_t count, char *pt); replace(size_t pos, size_t count, string &str); replace(iterator first, iterator last, char *pt); replace(iterator first, iterator last, string &str); Replaces elements in a string with the specified characters The range can be specified by a... s2 – s1.compare(start, length, s2) • Compare portion of s1 with all of s2 18 Chuỗi con • Hàm substr trả ra chuỗi con – s1.substr( start, N ); – gets N characters, beginning with index start – returns substring 19 Hoán đổi chuỗi • s1.swap(s2); – Switch contents of two strings 20 C c tính chất c a chuỗi • C c hàm thành phần – s1.size() and s1.length() • Number of characters in a string – s1.capacity()... first occurrence of any character in s2 • Example: s1.find_first_of( "abcd" ) – Returns index of first 'a', 'b', 'c' or 'd' 22 Tìm chuỗi con hay ký tự trong chuỗi • Find functions – s1.find_last_of( s2 ) • Finds last occurrence of any character in s2 – s1.find_first_not_of( s2 ) • Finds first character NOT in s2 – s1.find_last_not_of( s2 ) • Finds last character NOT in s2 23 Thay thế c c ký tự trong chuỗi... append(size_t count, char ch); append(InputIterator Start, InputIterator End); Appends characters to a string from C- style strings, char's or other string objects at(size_t offset); Returns a reference to the character at the specified position Differs from the subscript operator, [], in that bounds are checked begin(); Returns an iterator to the start of the string *c_ str(); Returns a pointer to C- style string. .. ); – Inserts substring of s2 before position index – Substring is N characters, starting at index2 26 Chuyển sang dạng char* • Conversion functions – Strings are not necessarily null-terminated – s1.copy( ptr, N, index ) • Copies N characters into the array ptr • Starts at location index • Need to null terminate char str[8]; string s2 = "cathode"; s2.copy(str, 5, 2); //copy 5 characters into str //starting... the contents of the string clear(); Erases the entire string copy(char *cstring, size_t count, size_t offset); Copies "count" characters into a C- style string starting at offset empty(); Test whether a string is empty end(); Returns an iterator to one past the end of the string erase(iterator first, iterator last); erase(iterator it); erase(size_t pos, size_t count); Erases characters from the specified... và replace(): s6 = “ABCD*FGHIJK”; s6.erase(4, 2); //changes s6 to “ABCDGHIJK”; s6.replace(5, 2, “xyz”); //changes s6 to “ABCDGxyzJK”; replace 2 characters from s6, starting at index 5, with “xyz” 13 Đối tượng string find() function returns the index of the first occurrence of a given substring: string s7 = “Mississippi River basin”; //23 characters cout ... initialization string s; //s contains characters string s1( "Hello" ); //s1 contains characters string s2 = “Hello”; //s2 contains characters //implicitly calls the constructor string s3( 8, 'x' ); //s3 contains... lớp string khai báo thể • Chương trình sử dụng lớp string c n viết: #include using namespace std; string x(“high school”); string x= “high school”; string x; x=“high school”; C+ + String. .. thiệu • Chuỗi (string) danh sách ký tự – c string – c+ + string class • Thí dụ: “hello”, “high school”, “H2O” • C c phép toán chuỗi gồm: – C ng: “high”+“school”=“highschool” – So sánh: “high”

Ngày đăng: 28/03/2016, 01:08

Mục lục

  • Lập trình hướng đối tượng

  • Tạo đối tượng string

  • Các tính chất của chuỗi

  • Tìm chuỗi con hay ký tự trong chuỗi

  • Thay thế các ký tự trong chuỗi

  • Chèn các ký tự vào chuỗi

  • Chuyển sang dạng char*

  • Chuyển sang dạng char *

  • Luồng chuỗi (String Stream)

Tài liệu cùng người dùng

Tài liệu liên quan