#include <iostream>
#include <fstream>
using namespace std;
#define PMB_TYPE "/home2/liuwj25/hakuba_test/PMB_TYPE"
bool update_sps_data = false;
void handle_pmb_type(bool isHakuba)
{
//if not isHakuba, SPSData revision identical, skip;
if (!isHakuba)
{
cout << "SPSData revision identical, skip." << endl;
update_sps_data = false;
return;
}
int nType = 0;
cin >> nType;
//if file PMB_TYPE exist, judge origin new is same;
//file PMB_TYPE not exist, file empty, we also set update_sps_data = true;
ifstream read_pmb_type(PMB_TYPE);
int last_power_adapter_type = -1;
if (read_pmb_type.is_open())
{
read_pmb_type >> last_power_adapter_type;
if (nType == last_power_adapter_type)
{
cout << "SPSData revision and power type identical, skip." << endl;
update_sps_data = false;
}
else
{
cout << "SPSData revision identical, but power type different, we update sps data." << endl;
update_sps_data = true;
}
}
else
{
cout << "File " << PMB_TYPE << " open failed, the value of update_sps_data no change, please check." << endl;
}
read_pmb_type.close();
//save current pmb_type;
ofstream pmb_type(PMB_TYPE);
if (pmb_type.is_open())
{
pmb_type << nType << endl;
}
else
{
cout << "File " << PMB_TYPE << " open failed." << endl;
}
pmb_type.close();
return;
}
int main()
{
handle_pmb_type(true);
}
ofstream pmb_type(PMB_TYPE)若文件不存在,会创建文件;
ifstream read_pmb_type(PMB_TYPE);若文件不存在,不会创建文件