有一些参数需要用文件读写操作,需要制作DLL,调用时需要路径的适应性,获取dll所在路径,获得当前exe可执行文件所在的路径。
用 GetCurrentDirectory(或者_getcwd),只能获得当前工作路径。如果代码中对其他文件夹中的文件操作时,则路径不符合了。
一、获得当前工作路径
char szFilePath_coef[MAX_PATH];
getcwd(szFilePath_coef, MAX_PATH);
strcat(szFilePath_coef, "\\HE\\model_sv_coef-c2.txt");
二、获得exe可执行文件的路径
char szFilePath_coef[MAX_PATH + 1] = { 0 };
GetModuleFileNameA(NULL, szFilePath_coef, MAX_PATH);
(strrchr(szFilePath_coef, '\\'))[0] = 0; // 删除文件名,只获得路径字串
strcat(szFilePath_coef, "\\HE\\model_sv_coef-c2.txt");