Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++로 바이너리 파일 작성하기

<시간/>

C++에서 바이너리 파일을 작성하려면 write 메소드를 사용하십시오. "put" 포인터의 위치에서 시작하여 주어진 스트림에 주어진 바이트 수를 쓰는 데 사용됩니다. 넣기 포인터가 파일 끝에 있는 경우 파일이 확장됩니다. 이 포인터가 파일의 중간을 가리키면 파일의 문자를 새 데이터로 덮어씁니다.

파일에 쓰는 동안 오류가 발생하면 스트림은 오류 상태가 됩니다.

쓰기 방식의 구문

ostream& write(const char*, int);

알고리즘

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.

다음은 샘플 예입니다.

예시 코드

#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;
}

출력

Student’s Details:
Roll No: 1
Name: Ram
Roll No: 2
Name: Shyam
Roll No: 3
Name: Madhu