- ofstream: lớp ghi dữ liệu ra file.
- ifstream: lớp đọc dữ liệu từ file.
- fstream: lớp để đọc/ghi dữ liệu từ/lên file.
Ví dụ |
#include using namespace std; int main(){ ofstream myfile; myfile.open(“example.txt”); myfile.<<”Ghi du lieu ra file”; myfile.close(); return 0; } |
Chúng ta sẽ nghiên cứu từng bước khi làm việc với các đối tượng của ba lớp mà chúng ta nêu ở trên..
Mở file
Để mở file trong chương trình bằng một đối tượng stream, chúng ta sử dụng hàm thành viên open(tên_file, chế_độ_mở).Trong đó,
- tên_file: là tên của file mà chúng ta cần mở. Bạn phải đảm bảo cung cấp đường dẫn chính xác đến tập tin này. Nếu bạn cung cấp đường dẫn tuyệt đối, thì mọi việc sẽ bình thường. Nhưng nếu bạn cung cấp đường dẫn tương đối, bạn cần tuân thủ nguyên tắc như khi làm việc với tệp .cpp và .h như tôi đã trình bày ở trên.
- chế_độ_mở: là tham số tùy chọn, thường trong C++ nó có thể là các cờ hiệu sau đây:
Cờ hiệu | Giải thích |
ios::in | Mở file để đọc. |
ios::out | Mở file để ghi. |
ios::binary | Mở file ở chế độ nhị phân (thường áp dụng cho các file mã hóa). |
ios::ate | Thiết lập vị trí khởi tạo tại vị trí cuối cùng của file. Nếu cờ hiệu này không thiết lập bất kì giá trị nào, vị trí khởi tạo sẽ đặt ở đầu file. |
ios::app | Mọi dữ liệu được ghi ra file sẽ tiến hành bổ sung vào cuối file (không ghi đè lên file). Cờ hiệu này chỉ có thể sử dụng trong tác vụ mở file để ghi. |
ios::trunc | Nếu một file được mở để ghi đã tồn tại, nó sẽ ghi đè lên nội dung cũ. |
ofstream myfile; myfile.open(“example.bin”, ios::out|ios::app, ios::binary); |
Lớp | chế_độ_mở mặc định |
ofstream | ios::out |
ifstream | ios::in |
fstream | ios::in|ios::out |
Nếu bạn sử dụng hàm khởi tạo cho các lớp này, thì phương thức thành viên open sẽ tự động được triệu gọi. Nghĩa là bạn có thể viết
ofstream myfile(“example.bin”, ios::out|ios::app, ios::binary); |
Để kiểm tra một file đã mở thành công hay chưa, bạn có thể sử dụng phương thức is_open. Nếu đã mở thành công, nó sẽ trả về giá trị true và ngược lại, nếu mở không thành công, nó sẽ trả về giá trị false.
Đóng file
Khi chúng ta hoàn tất công việc với một file, chúng ta cần thực hiện thao tác đóng file lại. Tác vụ này là bắt buộc nếu bạn đã làm việc hoàn tất với file. Bạn chỉ đơn thuần triệu gọi phương thức thành viên closemyfile.close(); |
làm ơn nói vói tôi cái cách làm việc với nó ý. nói như bạn chả hiểu nổi, có chương trình mẫu không?
ReplyDeleteBạn hỏi vấn đề này ở mục hỏi đáp giúp tôi nhé. Thân.
ReplyDelete