void execute(string m) { string line ; ifstream check;ofstream add;ifstream add1; m_pInputFile.open("logfile.txt",std::ios_base::app | std::ios_base::out); remove_blank("logfile.txt"); remove_blank("update.txt"); if (is_empty("logfile.txt")==1) m_pInputFile<<m; else m_pInputFile<<endl<<m; m_pInputFile.close(); m_pInputFile.clear(); add.open("update.txt", std::ios_base::app ); if (is_empty("update.txt")==1) m_pInputFile<<"Food added"; else m_pInputFile<<endl<<"Food added"; add.close(); }
void undo() { string line; string line_2; ofstream out; out.open("logfile.txt", std::ios_base::app | std::ios_base::out ); m_pInputFile.open("update.txt" ); /* remove_blank("logfile.txt"); remove_blank("update.txt");*/ while(! m_pInputFile.eof()) { getline(m_pInputFile,line); // cout <<line <<"line"<<endl; } m_pInputFile.close(); if (line=="log edited") { remove_blank("logfile.txt"); remove_blank("update.txt"); remove_blank("editedlogs.txt"); // removelastline("logfile.txt"); ifstream editlogs; editlogs.open("editedlogs.txt"); while(! editlogs.eof()) { getline(editlogs, line_2); } string firstCharacter; // line_s=line; stringstream ssin(line_2); ssin >>firstCharacter; cout <<firstCharacter; deletelog(firstCharacter); cout<<line_2; out<<endl<<line_2; out.close(); removelastline("update.txt"); removelastline("deletedlogs.txt"); system("sort -n -k 1 logfile.txt > sorted-out.txt"); remove("logfile.txt"); rename("sorted-out.txt" , "logfile.txt"); removelastline("update.txt"); removelastline("editedlogs.txt"); editlogs.close();}
Data* data_json_create(json_object* jso) { char name[64] = {0, }; uint64_t size = 10; //TODO add new value json_object_object_foreach(jso, key, child_object) { if(!strcmp(key, "name")) { strcpy(name, json_object_to_json_string(child_object)); remove_blank(name); } else if(!strcmp(key, "size")) { size = json_object_get_int64(child_object); } } return data_create(name, size); }
int main(int argc, char *argv[]) { if(argc != 2) /* 检测参数 */ { ferr("缺少源文件!\n"); exit(1); } filename = argv[1]; /* 获取源文件名 */ if( !file_exist(filename) ) /* 判断文件是否存在 */ { ferr("文件不存在!\n"); exit(1); } remove_blank(filename); /* 除去多余空格 、TAB、空行*/ exit(0); }
bool mqtt_process(MQTT* mqtt) { if(mqtt->length < sizeof(MQTT_VHeader)) { return false; } MQTT_VHeader* vheader= (MQTT_VHeader*)mqtt->body; ssize_t len = mqtt->length - (sizeof(MQTT_VHeader) + vheader->topic_length); char buf[256] = {0,}; if(len < 0 || len > sizeof(buf)) { return false; } memcpy(buf, (char*)vheader->topic + vheader->topic_length, len); json_object* jso = json_tokener_parse(buf); if(jso) { Sensor* sensor = NULL; char name[64] = {0, }; json_object_object_foreach(jso, key, child_object) { if(!strcmp(key, "name_of_sensor")) { strcpy(name, json_object_to_json_string(child_object)); printf("name %s\n", name); remove_blank(name); sensor = sensor_database_get(name); } #ifdef TIMER_LOG if(!strcmp(key, "id_of_sensor")) { char id[64] = {0, }; strcpy(id, json_object_to_json_string(child_object)); remove_blank(id); extern void timer_check(char* id); timer_check(id); } #endif } if(sensor) { json_object_object_foreach(jso, key1, child_object1) { char name[64] = {0, }; strcpy(name, key1); remove_blank(name); Data* data = sensor_get_data(sensor, name); if(data) { char value[64] = {0, }; strcpy(value, json_object_to_json_string(child_object1)); remove_blank(value); char* ptr; int64_t val = strtol(value, &ptr, 10); #ifdef DEBUG_MSG printf("\t%s: %ld\n", name, val); #endif data_push_value(data, val); } } } #ifdef DEBUG_MSG printf("\n"); #endif json_object_put(jso); //free }