无法输入姓名
#include
using namespace std;
#include
#include
#include
#include
//3.建立某单位职工通讯录的二进制数据文件,文件中的每个记录均包括:
// 职工编号、姓名、电话号码、邮政编码和住址。
class Worker
{
public:
int m_Num;
char m_Name[64];
int m_PhoneNumber;
int m_Mail;
char m_Address[128];
};
int getNum()
{
cout << "请输入职工编号:" << endl;
int a;
cin >> a;
return a;
}
char* getName()
{
cout << "请输入职工姓名:" << endl;
char* name=new char[64];
//scanf("%s", name);
cin.get(name,64);
return name;
}
void record(int num,char* name)
{
ofstream ofs("Worker.txt", ios::out | ios::binary);
Worker w = { num, *name };
ofs.write((const char*)&w, sizeof(Worker));
ofs.close();
}
void read()
{
ifstream ifs;
ifs.open("Worker.txt", ios::in | ios::binary);
if (!ifs.is_open())
{
cout << "文件打开失败" << endl;
return;
}
Worker w;
ifs.read((char*)&w, sizeof(Worker));
cout << "姓名:" << w.m_Name << " 职工编号:" << w.m_Num << endl;
}
int main()
{
int num = getNum();
char* name = getName();
record(num, name);
read();
system("pause");
return 0;
}
可用字符数组输入姓名