Phần 2: Ngôn ngữ lập trình C++ Chương 5: Các lớp nhập/xuất trong C++ ppt

19 598 0
Phần 2: Ngôn ngữ lập trình C++ Chương 5: Các lớp nhập/xuất trong C++ ppt

Đ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

Phần 2: Ngơn ngữ lập trình C++ Chương 5: Các lớp nhập/xuất C+ + Nội dung Giới thiệu chung Các thao tác nhập/xuất Các thao tác tệp Giới thiệu chung  Khái niệm dòng (kênh, stream):   Dòng trừu tượng hóa mà đại diện cho thiết bị mà thao tác nhập xuất thực Về bản, dịng biểu diễn nguồn (source) hay đích (destination) kí tự có độ dài vơ hạn Nói chung, dòng thường kết hợp với nguồn hay đích vật lý kí tự, file, bàn phím, hình,v.v, kí tự lấy hay ghi vào/ra dòng nhập/xuất cách vật lý thiết bị vật lý Mơ hình mơ tả dịng Program input stream output stream input & output stream Giới thiệu lớp thực nhập/xuất ios_base ios istream ostream iostream stringstream fstreambase ifstream fstream ofstream Lớp ios_base   Lớp ios_base thiết kế lớp sở tất lớp stream cấu trúc phân cấp lớp Nó mô tả phần stream, mà chung cho tất đối tượng stream, nên khơng thiết kế lớp có khởi tạo đối tượng, mà lớp trừu tượng Cả lớp ios_base lớp dẫn xuất ios định nghĩa thành phần stream mà độc lập với việc đối tượng stream nhập hay xuất Lớp ios_base  Cụ thể hơn, lớp ios_base chịu trách nhiệm trì bên thơng tin stream sau: Các thông tin định dạng:  format flags: cờ định dạng dùng để mô tả thao tác nhập/xuất thực  field width: mô tả độ rộng phần tử xuất  display precision: mơ tả độ xác sau dấu phẩy liệu kiểu số thực xuất Các thông tin trạng thái  error state: phản ánh tình trạng lỗi  exception mask: số trạng thái exception Lớp ios_base  Đồng thời, chứa hàm thành viên phục vụ cho việc nhận hay thay đổi thông tin như:  Trạng thái cờ format flags có hay bị thay đổi cách gọi hàm thành viên flags, setf unsetf  Giá trị field width nhận hay bị thay đổi nhờ việc gọi hàm thành viên width  Giá trị display precision nhận hay bị thay đổi gọi hàm thành viên precision  Đối tượng error state nhận cách gọi hàm ios::rdstate thay đổi cách gọi hàm ios::clear and ios::setstate Các giá trị riêng nhận cách gọi hàm ios::good, ios::eof, ios::fail ios::bad  Giá trị exception mask nhận bị thay đổi cách gọi hàm thành viên ios::exceptions Lớp ios   Được thiết kế lớp sở cho tất lớp stream khác Trong hàm thành viên lớp phụ thuộc vào kiểu liệu tham số khuôn mẫu (type-dependent of template parameters), thành viên lớp ios_base lại độc lập Lớp bổ sung thêm số thơng tin sau:  fill character: kí tự dùng để điền thêm vào khoảng trống field width Giá trị nhận hay bị thay đổi nhờ hàm fill  pointer to tied stream: trỏ đến đối tượng stream mà gắn (tied) với đối tượng stream Giá trị nhận hay bị thay đổi nhờ hàm thành viên tie  pointer to stream buffer: trỏ đến đối tượng streambuf Giá trị nhận hay bị thay đổi nhờ hàm thành viên rdbuf Lớp istream Các đối tượng lớp istream dùng để đọc diễn dịch đầu vào (interpret input) từ dãy kí tự (sequences of characters) Lớp cung cấp hàm thành viên để thực thao tác này, chia thành nhóm chính: Nhập có định dạng Các hàm trích liệu từ dãy kí tự mà diễn dịch định dạng Các thao tác thực nhờ hàm thành viên hay hàm toàn cục mà định nghĩa lại phép tốn trích liệu (operator>>)  Nhập khơng có định dạng Đa số hàm thành viên khác lớp istream dùng để thực việc nhập khơng có định dạng Các hàm lấy số lượng xác định kí tự từ dãy kí tự vào (get, getline, peek, read, readsome), điểu chỉnh (manipulate) việc lấy (ignore, seekg, tellg, unget) lấy thông tin thao tác nhập không định dạng gọi lần gần (gcount)  Đối tượng cin thể lớp Lớp ostream Các đối tượng lớp ostream dùng để ghi định dạng đầu dãy kí tự Lớp cung cấp hàm để thực thao tác chúng chia thành nhóm chính: Xuất có định dạng Các hàm diễn dịch định dạng liệu ghi dãy kí tự Các hàm thực nhờ việc sử dụng hàm thành viên hàm toàn cục mà định nghĩa lại phép tốn chèn (insertion operator) (operatorch; ch = cin.get(); cin.get(ch); Nhập chuỗi kí tự: g/s nhập cho mảng kí tự khai báo “char st[MAX_LEN];”   cin>>st; Nhập chuỗi không chứa khoảng trắng cin.get(st,MAX); Nhập chuỗi có chứa khoảng trắng Nhập kiểu liệu khác: Sử dụng cin>>  Các thao tác nhập/xuất  Các thao tác xuất liệu Xuất kí tự  cout

Ngày đăng: 06/08/2014, 00:21

Từ khóa liên quan

Mục lục

  • Phần 2: Ngôn ngữ lập trình C++

  • Nội dung chính

  • 1. Giới thiệu chung

  • Mô hình mô tả dòng

  • Giới thiệu các lớp chính thực hiện nhập/xuất

  • Lớp ios_base

  • Slide 7

  • Slide 8

  • Lớp ios

  • Lớp istream

  • Lớp ostream

  • Lớp fstream

  • 2. Các thao tác nhập/xuất cơ bản

  • Slide 14

  • 3. Các thao tác trên tệp

  • Slide 16

  • Bài tập

  • Slide 18

  • Thank you!

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

Tài liệu liên quan