C++如何判断相对路径和绝对路径

在C++中,可以使用以下方法来判断一个路径是相对路径还是绝对路径:

  1. 相对路径是相对于当前工作目录的路径,而绝对路径是从根目录开始的完整路径。你可以使用std::filesystem::path类来处理路径。
cpp 复制代码
#include <iostream>
#include <filesystem>

int main() {
    std::filesystem::path path("folder/file.txt");
    
    if (path.is_relative()) {
        std::cout << "相对路径" << std::endl;
    } else {
        std::cout << "绝对路径" << std::endl;
    }
    
    return 0;
}
  1. 另一种方法是使用文件系统库中的std::filesystem::current_path()函数获取当前工作目录,并将路径与待判断的路径进行比较。
cpp 复制代码
#include <iostream>
#include <filesystem>

int main() {
    std::filesystem::path path("folder/file.txt");
    std::filesystem::path current_path = std::filesystem::current_path();
    
    if (path == current_path / path) {
        std::cout << "相对路径" << std::endl;
    } else {
        std::cout << "绝对路径" << std::endl;
    }
    
    return 0;
}

无论使用哪种方法,请确保你的编译器支持C++17或以上版本,并链接-lstdc++fs才能使用文件系统库。

相关推荐
故事和你911 小时前
洛谷-【动态规划1】动态规划的引入2
开发语言·数据结构·c++·算法·动态规划·图论
fpcc2 小时前
c++编程实践——历史记录的管理
c++
玖笙&3 小时前
✨WPF编程基础【3.3】:容器控件(附源码)
c++·wpf·visual studio
汉克老师3 小时前
GESP5级C++考试语法知识(十七、二分算法提高篇(二))
c++·算法·二分算法·gesp5级·gesp五级·二分算法易错点
我材不敲代码4 小时前
Python 正则表达式进阶实战:从文本清洗到复杂信息提取
c++·python·正则表达式
我命由我123454 小时前
Android Framework P3 - MediaServer 进程、认识 ServiceManager 进程
android·c语言·开发语言·c++·visualstudio·visual studio·android runtime
计算机安禾4 小时前
【c++面向对象编程】第48篇:Lambda表达式与std::function:OOP中的函数式编程
java·c++·算法
chxin140164 小时前
CMake 笔记
c++
C+-C资深大佬5 小时前
在C++中,const和#define有什么区别?
开发语言·c++
春蕾夏荷_7282977256 小时前
MFC 简易成绩管理界面
c++·mfc·成绩