本文介绍了保存用户数据以便后续运行程序。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我现在正试图找到一种方法来保存用户数据(包括一些整数,tm值的映射和类值的映射),但我不知道如何去做。我尝试过的一种方法是将数据保存到数据文件中:
int main()
{
string name;
int age;
bool test = false;
字符串输入;
ofstream saveData;
ifstream takeData;
std :: time_t tt = system_clock :: to_time_t(system_clock :: now());
tm curtime = * localtime(& tt);
tm time = curtime;
takeData.open(" data.dat");
takeData>>名称;
takeData.close();
if(name ==""){
name =" blank" ;;
}
cout<< "名称是" <<名称<< ENDL;
takeData.open(" data2.dat");
takeData>>年龄;
takeData.close();
if(age< 0){
age = 0;
}
cout<< "年龄是" <<年龄<< ENDL;
takeData.open(" data3.dat");
takeData>>测试;
takeData.close();
if(test == true){
cout<< "真"。 << ENDL;
} else {
cout<< "假QUOT。 << ENDL;
}
takeData.open(" data4.dat");
takeData>>时间;
takeData.close();
cout<< "输入时间是" << asctime(安培;时间);
cout<< "你的名字?" << ENDL;
cin>>名称;
saveData.open(" data.dat");
saveData<<名称;
saveData.close();
cout<< "你的年龄?" << ENDL;
cin>>年龄;
saveData.open(" data2.dat");
saveData<<年龄;
saveData.close();
cout<< "这是真的吗? (Y / N)" << ENDL;
cin>>输入;
if(input ==" y"){
test = true;
} else {
test = false;
}
cout<< "设定时间到12月1日。" << ENDL;
time.tm_mon = 11;
time.tm_mday = 1;
saveData.open(" data4.dat");
saveData<<时间;
saveData.close();
返回0;
}
这只是一个测试,它似乎一直有效,直到我使用了tm值,此时我得到了错误:
错误 &NBSP; C2679&NBSP;&NBSP; binary'>>':找不到带有'tm'类型右手操作数的运算符(或者没有可接受的转换)
我试图保存的数据是:
map< string,Date *> m_dates;
$
map< string,Tracker *> m_tasks;
$
map< string,vector< tm>> m_taskreports;
$
map< string,tm> m_datereports;
map< string,Goal *> m_goals;
以及4个整数。有没有一种简单的方法可以在用户关闭程序时保存这些数据,然后在再次打开程序时将其恢复?
解决方案
这篇关于保存用户数据以便后续运行程序。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!