Các Kỹ Thuật Lập Trình Với Tập Tin (file) Trong C++ - Góc Học IT

Ngôn ngữ C++ hỗ trợ thư viện <fstream> để thao tác với tập tin (file). Có những thao tác trên tập tin như:

    • Mở tập tin
    • Đọc/ghi tập tin
    • Đóng tập tin

1. Lập trình với file sử dụng thư viện <fstream> trong C++

Cần khai báo thư viện <fstream> để lập trình với file trong C++:#include <fstream>

Thư viện <fstream>3 lớp (class) thao tác với file là:

    • ifstream là lớp biểu diễn cho input stream, dùng để đọc dữ liệu từ file.
    • ofstream là lớp biểu diễn cho outpust stream, dùng để ghi dữ liệu vào file.
    • fstream là lớp biểu diễn cho cả input và output stream. Với fstream, chúng ta có thể tạo file, đọc hoặc ghi dữ liệu cho file.

Mở một file như thế nào?

Trước khi thao tác với file, việc đầu tiên là cần mở file. Nếu cần ghi dữ liệu cho file, cần mở file bằng cách sử dụng lớp fstream hoặc ofstream. Nếu cần đọc dữ liệu từ file, cần mở file bằng cách sử dụng lớp fstream hoặc ifstream.

Cả 3 lớp fstream, ofstream và ifstream đều có hàm open() để mở file. Cú pháp của hàm open() như sau:open (file_name, mode);

Tham số file_name là đường dẫn của file cần mở.

Tham số mode là tham số tùy chọn. Tham số này có các giá trị với ý nghĩa như sau:

Giá trịÝ nghĩa
ios:: appThêm dữ liệu vào cuối file
ios::ateĐặt vị trí con trỏ ở cuối file khi mở file
ios::inMở file và cho phép đọc dữ liệu (mode mặc định của ifstream)
ios::outMở file và cho phép ghi dữ liệu (mode mặc định của ofstream)
ios::binaryDùng để mở file nhị phân
ios::truncXóa tất cả dữ liệu khi mở file

Một số hàm hỗ trợ khi thao tác với file

Hàm eof(): trả về true khi con trỏ đã trỏ tới cuối file và false thì ngược lại.

Hàm is_open(): kiểm tra file đã được mở hay chưa. Hàm is_open() trả về true nếu mở thành công và false nếu thất bại.

Hàm close(): hàm đóng file. Sau khi đọc hoặc ghi file thì nên đóng file lại.fstream data_file; data_file.open("C:\\data.txt", ios::app | ios::out | ios::in); if(data_file.is_open()){ //Đọc file khi mở file thành công while(!data_file.eof()) { //code block } }else{ //Mở file thất bại cout<<"Mo file that bai"; } data_file.close();//đóng file khi đọc/ghi file xong

2. Chương trình C++ minh họa thao tác với tập tin

/*Steps to manipulate file Step 1: Open file Step 2: Read/write file Step 3: Close file */ #include <iostream> #include <fstream> #include <string> using namespace std; int main() { string a; fstream data_file; string line; cout<<"================Read file================="<<endl; data_file.open("C:\\data.txt", ios::app | ios::out | ios::in); //Read file while (!data_file.eof()) { getline(data_file,line); cout<<line<<endl; } data_file.close(); //Write file cout<<"================Write file================="<<endl; data_file.open("C:\\data.txt", ios::app | ios::out | ios::in); getline(cin, line); data_file<<'\n'<<line; data_file.close(); //Read file after write file cout<<"================Read file after write file================="<<endl; data_file.open("C:\\data.txt", ios::app | ios::out | ios::in); while (!data_file.eof()) { getline(data_file,line); cout<<line<<endl; } data_file.close(); system("pause"); }
Kết quả
================Read file================= Welcome to introduction to programming! Programming language C++ ================Write file================= Hello all! ================Read file after write file================= Welcome to introduction to programming! Programming language C++ Hello all!

Các bạn nhớ mở file để đọc/ghi file. Sau đó thì phải đóng file lại.

  • Chuyển đổi (convert) dữ liệu JSON sang dữ liệu XML trong Python
  • Thuật toán tìm kiếm nhị phân (Binary Search)
  • Các hiệu ứng hiển thị trên LCD với board mạch Arduino
  • Lập lịch (scheduler) và đồng bộ hóa (synchronization) Thread trong Java
  • Cấu trúc dữ liệu Dictionary trong Python
5/5 - (1 bình chọn)Bài trước và bài sau trong môn học<< Dòng (stream) là gì? Tập tin (file) và phân loại tập tin trong lập trình

Từ khóa » đọc Ghi File C++