/* * 读写文件 */ #ifndef _CONFIG_UTILS_H_ #define _CONFIG_UTILS_H_ #include #include #include #include #include #include #include #include #include using namespace std; #define CHECK_SYSTEM(cmd) do { \ int __result = system(cmd); \ if (__result != 0) { \ std::cerr << "Command failed: " << cmd << " (code: " << __result << ")" << std::endl; \ } \ } while(0) class MyClass { public: // 静态成员变量 static int m_MusicPlayStatus; static int m_VideoPlayStatus; static bool m_MusicPlayQuitStatus; static bool m_VideoPlayQuitStatus; }; inline void saveConfigString(const char* data,QString filename) { QFile file(filename); file.open(QIODevice::WriteOnly | QIODevice::Append); file.write(data); file.close(); } inline bool saveConfigQString(QString data,QString filename) { QFile file(filename); if(!file.open(QIODevice::WriteOnly|QIODevice::Text|QIODevice::Append)) { cout<<"file open field!"< 0) { out<< data+"\n"; } file.close() ; return true; } inline bool LoadConfigString(double& value, string name) { ifstream ifs(name.c_str()); if(!ifs){ ifs.close(); return false; } string bufline; getline(ifs, bufline, '\n'); value = atof(bufline.c_str()); ifs.close(); return true; } inline bool LoadConfigString(int& value, string name) { ifstream ifs(name.c_str()); if(!ifs){ ifs.close(); return false; } string bufline; getline(ifs, bufline, '\n'); value = atoi(bufline.c_str()); ifs.close(); return true; } inline bool LoadConfigString(string& value, string name) { ifstream ifs(name.c_str()); if(!ifs) { ifs.close(); return false; } string bufline; getline(ifs, bufline, '\n'); value = bufline; ifs.close(); return true; } inline bool SaveConfigString(const double& value, string name) { if( (access(name.c_str(), 06 )) == -1 ) { stringstream ss; ss << "echo 0 > \"" << (name) << "\""; CHECK_SYSTEM(ss.str().c_str()); } ofstream fs(name.c_str()); if(!fs){ fs.close(); return false; } fs << value << endl; fs.flush(); fs.close(); return true; } inline bool SaveConfigString(const int& value, string name) { if( (access(name.c_str(), 06 )) == -1 ) { stringstream ss; ss << "echo 0 > \"" << (name) << "\""; CHECK_SYSTEM(ss.str().c_str()); } ofstream fs(name.c_str()); if(!fs){ fs.close(); return false; } fs << value << endl; fs.flush(); fs.close(); return true; } inline bool SaveConfigString(const string& value, string name) { if((access(name.c_str(), 06 )) == -1 ) { stringstream ss; ss << "echo 0 > \"" << (name) << "\""; CHECK_SYSTEM(ss.str().c_str()); } ofstream fs(name.c_str()); if(!fs) { fs.close(); return false; } fs << value << endl; fs.flush(); fs.close(); return true; } inline bool saveDateToCsv(QString filename,QStringList lsit,bool isOneLine) { QFile file(filename); if(!file.open(QIODevice::WriteOnly|QIODevice::Text|QIODevice::Append)) { cout<<"file open field!"<