Đọc ghi dữ liệu ựồng thời trên tệp

Một phần của tài liệu Các dòng tin (Trang 29 - 30)

Thủ tục ựọc-ghi dữ liệu ựồng thời trên tệp như sau:

+ Dùng lớp fstream ựể tạo ra một dòng nhập-xuất và gắn nó với một tệp cụ thể. + Thực hiện nhập dữ liệu từ dòng nhập-xuất vừa tạo như thể nhập dữ liệu từ dòng nhập chuẩn cin.

+ Thực hiện xuất dữ liệu ra dòng nhập-xuất vừa tạo như thể xuất dữ liệu ra dòng xuất chuẩn cout.

Nhận xét:

+ Việc xuất dữ liệu ra máy in hoặc lên tệp ựược thực hiện hoàn toàn giống như xuất dữ liệu ra dòng xuất chuẩn cout (màn hình).

+ Việc ựọc dữ liệu từ tệp ựược thực hiện hoàn toàn giống như nhập dữ liệu từ dòng nhập chuẩn cin (bàn phắm).

ậ 11. GHI DỮ LIỆU LÊN TỆP 11.1. Lớp ofstream

để ghi dữ liệu lên tệp chúng ta sử dụng lớp ofstream. Lớp ofstream thừa kế các phương thức của các lớp ios và ostream. Nó cũng thừa kế phương thức:

close

của lớp fstreambase. Ngoài ra lớp ofstream có thêm các hàm tạo và các phương thức sau:

1. Hàm tạo: ofstream()

dùng ựể tạo một ựối tượng ofstream (dòng xuất), chưa gắn với tệp. 2. Hàm tạo: ofstream(const char *fn, int mode = ios::out,

int prot = filebuf::openprot);dùng ựể tạo một ựối tượng

ofstream, mở tệp có tên fn ựể ghi và gắn ựối tượng vừa tạo với tệp ựược mở. + Tham số fn cho biết tên tệp.

+ Tham số mode có giá trị mặc ựịnh là ios::out (mở ựể ghi). Tham số này có thể là một hợp của các giá trị sau:

ios::binary ghi theo kiểu nhị phân (mặc ựịnh theo kiểu văn bản) ios::out ghi tệp, nếu tệp ựã có thì nó bị xoá

ios::app ghi bổ sung vào cuối tệp

ios::ate chuyển con trỏ tệp tới cuối tệp sau khi mở tệp ios::trunc xoá nội dung của tệp nếu nó tồn tại

ios::nocreate nếu tệp chưa có thì không làm gì (bỏ qua) ios::noreplace nếu tệp ựã có thì không làm gì (bỏ qua)

+ Tham số thứ ba prot quy ựịnh cấp bảo vệ của dòng tin, tham số này có thể bỏ qua vì nó ựã ựược gán một giá trị mặc ựịnh.

3. Hàm tạo: ofstream(int fd);

dùng ựể tạo một ựối tượng ofstream và gắn nó với một tệp có chỉ số fd ựang mở. (để mở và lấy chỉ số (số hiệu) tệp có thể dùng hàm _open, xem cuốn Kỹ thuật Lập trình C của tác giả).

4. Hàm tạo: ofstream(int fd, char *buf, int n);

dùng ựể tạo một ựối tượng ofstream , gắn nó với một tệp có chỉ số fd ựang mở và sử dùng một vùng nhớ n byte do buf trỏ tới làm bộ ựệm.

5. Phương thức: void open(const char *fn, int mode = ios::out,

int prot = filebuf::openprot);dùng ựể mở tệp có tên

fn ựể ghi và gắn nó với ựối tượng ofstream. Các tham số của phương thức có cùng ý nghĩa như trong hàm tạo thứ 2.

Một phần của tài liệu Các dòng tin (Trang 29 - 30)

Tải bản đầy đủ (PDF)

(65 trang)