-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathFileHelp.cpp
More file actions
84 lines (73 loc) · 2.43 KB
/
FileHelp.cpp
File metadata and controls
84 lines (73 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "FileHelp.h"
#include<bits/stdc++.h>
#include<iostream>
#include<fstream>
#include "info.h"
#include "Operator.h"
#include <vector>
#include <ctime>
#include <sys/stat.h>
using namespace std;
string con_name2 = "姓名";
string con_sex2 = "性别";
string con_tel2 = "电话";
string con_qq2 = "QQ";
string con_address2 = "地址";
string con_label2 = "关系";
FileHelp::FileHelp() {
}
FileHelp::~FileHelp() {
}
string contacts_list_path = "./Contacts_List.txt";
string contacts_list_backup_path = "./Contacts_List_backup.txt";
void FileHelp::read_text(vector<Info> & per) {
ifstream fin(contacts_list_path.c_str(), ios::in);
if(fin) {
char s[100];
fin.getline(s,100);
fin.getline(s,100);
char name[20], sex[20], tel[20], qq[20], address[20], label[20];
while(fin>>name>>sex>>tel>>qq>>address>>label&&strcmp(name,"Noname")!=0) {
Info info;
info.SetName(name);
info.setSex(sex);
info.SetTel(tel);
info.setQQ(qq);
info.SetAddr(address);
info.setLabel(label);
per.push_back(info);
}
fin.close();
struct stat buffer;
if (!stat (contacts_list_backup_path.c_str(), &buffer) == 0) {
this->backup_contacts(per); //初次备份
}
}
}
void FileHelp::save_text(vector<Info> per) {
ofstream fout(contacts_list_path,ios::out);
if(fout && (!per.empty())) {
fout << con_name2 << "\t" << con_sex2 << "\t\t\t"<< con_tel2 << "\t\t\t\t"<< con_qq2 << "\t\t\t\t"<< con_address2 << "\t\t\t\t"<< con_label2 << endl;
fout<<"--------------------------------------------------------------------------------------"<<endl;
for(int i=0; i<per.size(); i++) {
fout<<per[i]<<endl;
}
fout.close();
}
this->backup_contacts(per);
}
void FileHelp::backup_contacts(vector<Info> per) {
ofstream fout_backup(contacts_list_backup_path.c_str(),ios::app);
if(fout_backup && (!per.empty())) {
fout_backup <<"*******************************************通讯录备份*******************************************\n";
fout_backup<<"--------------------------------------------------------------------------------------"<<endl;
fout_backup <<con_name2 << "\t" << con_sex2 << "\t\t\t"<< con_tel2 << "\t\t\t\t"<< con_qq2 << "\t\t\t\t"<< con_address2 << "\t\t\t\t"<< con_label2 << endl;
for(int i=0; i<per.size(); i++) {
fout_backup<<per[i]<<endl;
}
time_t now = time(0); // 基于当前系统的当前日期/时间
char* dt = ctime(&now); // 把 now 转换为字符串形式
fout_backup << "备份时间:" << dt << endl;
fout_backup.close();
}
};