Qt的方法:
#include <QApplication> std::string getLogPath() { //获取exe文件的路径,C:/a/b/DataManager.exe std::string exePath = qApp->applicationFilePath().toStdString(); int i = exePath.rfind("/"); //tmp=C:/a/b std::string tmp = exePath.substr(0,i); //log文件地址:C:/a/b/DataManager.log return tmp + "/DataManager.log"; }
WIndows的方法:
string findSubPath(string path) { int i = path.rfind("\\"); string tmp = path.substr(0,i); return tmp; } string getPath() { char path[MAX_PATH]; GetModuleFileName(NULL, path, MAX_PATH); string tmp_path = findSubPath(path); return tmp_path; }