1. Trang chủ
  2. » Công Nghệ Thông Tin

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

19 8 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 146 KB

Nội dung

Lớp ios_base Lớp ios base được thiết kế là lớp cơ sở nhất của tất cả các lớp stream trong cấu trúc phân cấp các lớp. Nó mô tả các phần cơ bản nhất của một stream, mà chung cho tất cả các đối tượng stream, nên nó không được thiết kế như một lớp có khởi tạo đối tượng, mà là một lớp trừu tượng.

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ác 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: chỉ 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 và 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 và 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ố khn 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 trong field width Giá trị nhận hay bị thay đổi nhờ hàm fill  pointer to tied stream: con 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: con 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 được 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 được 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 được 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 tồ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: 11/05/2021, 04:37

w