C++之相对路径转绝对路径

本文介绍如何在C++中将相对路径转换为绝对路径,并讲解如何检查转换后的路径是否包含特定目标路径,这对于处理固定配置文件路径的情况尤其有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候需要把相对路径转换成绝对路径,然后判断路径里是否包含“目标路径”,然后进行下一步操作,比如说某个配置文件需要特殊处理,而且这个配置文件的路径是不变的。

#include <iostream>
 
std::string absolutePath(std::string path)
{
#ifdef _WIN32
     char absPath[4096] = {0};
    _fullpath(absPath, path.c_str(), 4096);
#else
    //linux 需要大点的空间
    char absPath[40960] = {0};
    realpath(path.c_str(), absPath);
#endif
    return std::string(absPath);
}
 
int main()
{
    // 在exe所在目录添加个log4cplus.config文件,验证一下.
    std::cout<<absolutePath("log4cplus.config")<<std::endl;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉特哈布

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值