Để viết một tệp nhị phân trong C ++, hãy sử dụng phương thức ghi. Nó được sử dụng để ghi một số byte nhất định trên luồng nhất định, bắt đầu từ vị trí của con trỏ "put". Tệp được mở rộng nếu con trỏ đặt ở cuối tệp. Nếu con trỏ này trỏ vào giữa tệp, các ký tự trong tệp sẽ được ghi đè bằng dữ liệu mới.
Nếu có bất kỳ lỗi nào xảy ra trong quá trình ghi vào tệp, luồng sẽ được đặt ở trạng thái lỗi.
Cú pháp của phương thức ghi
ostream& write(const char*, int);
Thuật toán
Begin Create a structure Student to declare variables. Open binary file to write. Check if any error occurs in file opening. Initialize the variables with data. If file opens successfully, write the binary data using write method. Close the file for writing. Check if any error occurs. Print the data. End.
Đây là một ví dụ mẫu
Mã mẫu
#include<iostream> #include<fstream> using namespace std; struct Student { int roll_no; string name; }; int main() { ofstream wf("student.dat", ios::out | ios::binary); if(!wf) { cout << "Cannot open file!" << endl; return 1; } Student wstu[3]; wstu[0].roll_no = 1; wstu[0].name = "Ram"; wstu[1].roll_no = 2; wstu[1].name = "Shyam"; wstu[2].roll_no = 3; wstu[2].name = "Madhu"; for(int i = 0; i < 3; i++) wf.write((char *) &wstu[i], sizeof(Student)); wf.close(); if(!wf.good()) { cout << "Error occurred at writing time!" << endl; return 1; } cout<<"Student's Details:"<<endl; for(int i=0; i < 3; i++) { cout << "Roll No: " << wstu[i].roll_no << endl; cout << "Name: " << wstu[i].name << endl; cout << endl; } return 0; }
Đầu ra
Student’s Details: Roll No: 1 Name: Ram Roll No: 2 Name: Shyam Roll No: 3 Name: Madhu