文件输入输出
#includeusing namespace std; #include #include #include #include class Person { private: char name[20]; char id[18]; int age; char addr[20]; public: Person() {}; Person(char *n, char* pid, int Age, char* Addr) { strcpy_s(name, n);//name[]退化为指针 strcpy_s(id, pid); age = Age; strcpy_s(addr, Addr); } void display() { cout << name << "t" << id << "t" << age << "t" << addr << endl; } }; int main(int argc, const char* argv[]) { vector v; char ch; ofstream out("d:/person.dat", ios::out | ios::app | ios::binary); char Name[20], ID[18], Addr[20]; int Age; cout << "------输入个人档案------" << endl << endl; do { cout << "姓名: "; cin >> Name; cout << "身份证号: "; cin >> ID; cout << "年龄: "; cin >> Age; cout << "地址: "; cin >> Addr; Person per(Name, ID, Age, Addr); out.write((char*)&per, sizeof(per)); cout << "enter another person" << endl; cin >> ch; } while (ch == 'y'); out.close(); ifstream in("d:/person.dat", ios::in | ios::binary); Person s; in.read((char*)&s, sizeof(s)); //eof()函数可以帮助我们用来判断文件是否为空,抑或是判断其是否读到文件结尾。 while (!in.eof()) { v.push_back(s); in.read((char*)&s, sizeof(s)); } cout << "n---------从文件中读出的数据--------" << endl << endl;//L15 auto pos = v.begin(); for (pos = v.begin(); pos != v.end(); pos++) (*pos).display(); system("pause"); return 0; }
#include#include #include using namespace std; class Employee{ private: int number ,age; char name[20]; double sal; public: Employee(){} Employee(int num,char* Name,int Age, double Salary){ number=num; strcpy(name,Name); age=Age; sal=Salary; } void display(){ cout<



