问题:C++使用fstream打开相对路径文件发生错误,只能使用绝对路径,下面是项目结构
如上图,原以为相对路径是相对于二进制文件(server-ddz.exe)的路径,所以使用相对路径../config/config.json
,但是经过测试,还是相对路径不正确的问题。
下面的代码是查看程序运行时的路径
char buffer[256];
char* val = getcwd(buffer, sizeof(buffer));
if (val)
{
std::cout << buffer << std::endl;
}
经过测试,发现运行时的路径是这样的:/home/jianzhe/code/server-ddz,并不在bin目录,所以导致相对路径错误。
正确的相对路径应该是:config/config.json