C++ string如何获取文件路径文件名、文件路径、文件后缀(两种方式)

获取文件路径、文件名和文件后缀可以使用C++的string类和标准库中的一些函数来实现。下面是两种方式的详细攻略:

方式一:使用C++标准库函数

  1. 首先,包含必要的头文件:
#include <iostream>
#include <string>
#include <filesystem>
  1. 使用std::filesystem::path类创建一个路径对象,并将文件路径作为参数传递给它:
std::filesystem::path filePath(\"path/to/file.txt\");
  1. 获取文件路径:
std::string directory = filePath.parent_path().string();
  1. 获取文件名:
std::string fileName = filePath.filename().string();
  1. 获取文件后缀:
std::string extension = filePath.extension().string();

下面是一个完整的示例代码:

#include <iostream>
#include <string>
#include <filesystem>

int main() {
    std::filesystem::path filePath(\"path/to/file.txt\");
    std::string directory = filePath.parent_path().string();
    std::string fileName = filePath.filename().string();
    std::string extension = filePath.extension().string();

    std::cout << \"Directory: \" << directory << std::endl;
    std::cout << \"File Name: \" << fileName << std::endl;
    std::cout << \"Extension: \" << extension << std::endl;

    return 0;
}

方式二:使用C++字符串处理函数

  1. 首先,包含必要的头文件:
#include <iostream>
#include <string>
  1. 创建一个字符串变量并将文件路径赋值给它:
std::string filePath = \"path/to/file.txt\";
  1. 获取文件路径:
std::string directory = filePath.substr(0, filePath.find_last_of(\"/\\\\\"));
  1. 获取文件名:
std::string fileName = filePath.substr(filePath.find_last_of(\"/\\\\\") + 1);
  1. 获取文件后缀:
std::string extension = filePath.substr(filePath.find_last_of(\".\") + 1);

下面是一个完整的示例代码:

#include <iostream>
#include <string>

int main() {
    std::string filePath = \"path/to/file.txt\";
    std::string directory = filePath.substr(0, filePath.find_last_of(\"/\\\\\"));
    std::string fileName = filePath.substr(filePath.find_last_of(\"/\\\\\") + 1);
    std::string extension = filePath.substr(filePath.find_last_of(\".\") + 1);

    std::cout << \"Directory: \" << directory << std::endl;
    std::cout << \"File Name: \" << fileName << std::endl;
    std::cout << \"Extension: \" << extension << std::endl;

    return 0;
}

以上两种方式都可以用来获取文件路径、文件名和文件后缀。方式一使用了C++标准库中的std::filesystem,提供了更多的功能和灵活性,而方式二则使用了C++字符串处理函数,更加简洁。根据实际需求选择适合的方式即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++ string如何获取文件路径文件名、文件路径、文件后缀(两种方式) - Python技术站

(0)
上一篇 2023年8月5日
下一篇 2023年8月5日

相关文章

  • javascript Array对象基础知识小结

    Javascript Array对象基础知识小结 Array是Javascript中重要的内置对象之一。它被用于存储一系列的数据元素。在本篇文章中,我们会详细探讨Array对象的基本知识。 创建数组 在Javascript中,你可以通过两种方式来创建一个数组。一种是使用Array构造函数,另外一种是使用数组字面量。 下面的代码演示了如何通过Array构造函数…

    other 2023年6月25日
    00
  • 三星手机应用程序进程意外停止怎么解决方法介绍

    三星手机应用程序进程意外停止的解决方法介绍 1. 问题描述 在使用三星手机时,有时可能会遇到应用程序进程意外停止的问题。这个问题会导致应用程序无法正常运行,用户体验受到一定的影响。 2. 解决方法 方法一:清除应用程序缓存 打开“设置”应用程序,找到并点击“应用管理器”选项。 在应用管理器界面中,选择出现问题的应用程序。 进入对应应用程序的详情界面,点击“存…

    other 2023年6月25日
    00
  • 去掉a标签和按钮加背景图片虚线/阴影完美解决方案

    针对“去掉a标签和按钮加背景图片虚线/阴影完美解决方案”这个问题,我有如下的解决方案供你参考: 去掉a标签虚线 默认情况下,a标签在被选中时会出现虚线框,这是为了让人们能够方便的看到自己的操作区域,但是在某些设计中,这个虚线框可以破坏页面的美感。如果要去掉a标签的虚线框,可以使用下面的代码: a:focus { outline: none; } 这个代码片段…

    other 2023年6月26日
    00
  • OPPO A83开发者选项在哪里?怎么打开USB调试模式?

    要打开OPPO A83的开发者选项和USB调试模式,需要您按照以下步骤进行操作: Step 1: 进入“关于手机”页面 首先,您需要打开您的OPPO A83手机,并进入“设置”页面,然后向下滑动,寻找“关于手机”选项,点击进入该页面。 Step 2: 进入“版本号”页面 在“关于手机”页面中,您需要连续点击“版本号”7次,直到系统提示“您已成为开发者”。 S…

    other 2023年6月26日
    00
  • jdk的**技术(jdkproxy)

    JDK动态代理(JDK Proxy)是Java中一种常用的代理模式实现方式,它可以在运行时动态地创建代理类和代理对象,而无需先定义代理类。以下是JDK动态代理的完整攻略: 步骤一:定义接口 首先,需要定义一个接口该接口是代理类和被代理类的公共接口。以下是一个示例接口: public interface UserService { void addUser(S…

    other 2023年5月9日
    00
  • linux安装vlc视频播放器

    VLC是一款跨平台的免费开源媒体播放器,支持播放各种音频和视频格式。在Linux系统中,我们可以通过命令行安装VLC。下面是Linux安装VLC视频播放器的完整攻略,包括两个示例说明。 示例一:使用apt-get命令安装VLC 在Debian和Ubuntu等基于Debian的Linux发行版中我们可以使用apt-get命令安装VLC。下面是一个示例,用于演示…

    other 2023年5月9日
    00
  • bug级别(优先级、严重级)定义

    以下是“bug级别(优先级、严重级)定义的完整攻略”的详细说明,包括过程中的两个示例说明。 bug级别(优先级、严重级)定义完整攻略 在软件开发过程中,bug是不可避免的。为了更好地管理和解决bug,我们需要对bug进行分类和定义。其中,bug级别(优先级、严重级)是一个重要的分类标准。以下是一份关于bug级别(优先级、严重级)定义的完整攻略。 1. bug…

    other 2023年5月10日
    00
  • 关于php中一些字符串总结

    关于PHP中一些字符串的总结 在PHP中,字符串处理不可避免,了解一些字符串相关的函数和技巧可以提高编码效率。下面是一些关于PHP中字符串的总结。 字符串的基本操作 字符串的拼接 字符串的拼接可以使用.操作符或$a .= $b的方式来实现。例如: $a = "Hello"; $b = "World"; echo $a …

    other 2023年6月20日
    00
合作推广
合作推广
分享本页
返回顶部