我有一个创建日志的函数。
无论我如何旋转 - 该文件都是在启动程序的文件夹中创建的。
我决定走另一条路,当我运行 .exe 时,如何使程序在另一个文件夹中工作?
MVS 将我的项目编译到 .exe 所在的 Debug 文件夹中,但日志出现在源文件夹中。
这是记录功能以防万一:
void CreateLogFile()
{
ifstream logg;
logg.open("latest.txt");//Открываем старый файл лога - latest.txt
if (bla.is_open())//Если файл существует
{
string date;
logg >> date;//В первой строке записана дата.
date = date + ".txt";
logg.close();
const char * newfilename = date.c_str();
rename("latest.txt", newfilename);//Переименовываем файл в [date].txt
}
logg.close();
string asdlog = "[" + getTime(1) + "." + getTime(0) + "_" + getTime(2) + "-" + getTime(3) + "-" + getTime(4) + "]";
//getTime обрабатывает и возвращает время
asdlog += '\r';
asdlog += '\n';//По другому не работает перенос строки.
ofstream lg;
lg.open("latest.txt");
lg << asdlog;//Записываем на первую строку дату.
lg.close();
}
它看起来像这样:http
://snap.ashampoo.com/JsChUMDW
日志看起来像这样:http ://snap.ashampoo.com/VvT8IsWE
如果我正确理解您的问题,那么您需要将程序日志保存在 .exe 所在的文件夹中,而不是保存在其他文件夹中,您只需要显示相对于您的文件夹或相对于系统的路径
在这种情况下,必须创建文件夹。