Я пишу код, который принимает пользовательский ввод и помещает его в структуру в двоичном файле. Но когда я запускаю свой код и ввожу свои данные, в файле ничего не появляется. Что я делаю не так?
Эта структура, которую я использую:
const int NAME_SIZE = 30;
struct Student{
char fname[NAME_SIZE];
int id;
};
if (choice==3){
Student person;
char again;
fstream output("output", ios::out | ios::binary);
cout << "Enter the following data about a "
<< "person:\n";
cout << "First Name: ";
cin.getline(person.fname, NAME_SIZE);
cout << "ID: ";
cin >> person.id;
output.write(reinterpret_cast<char *>(&person), sizeof(person));
output.close();
return 0;
}
Вот минимальный воспроизводимый пример:
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <string>
#include <iomanip>
#include <stdio.h>
#include <string.h>
using namespace std;
const int NAME_SIZE = 30;
struct Student{
char fname[NAME_SIZE];
int id;
};
int main() {
Student person;
char again;
fstream output("output", ios::out | ios::binary);
cout << "Enter the following data about a "
<< "person:\n";
cout << "First Name: ";
cin.getline(person.fname, NAME_SIZE);
cout << "ID: ";
cin >> person.id;
output.write(reinterpret_cast<char *>(&person), sizeof(person));
output.close();
return 0;
}