首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在给定文件路径的情况下获取带有文件扩展名的文件名,并将其存储在C++控制台应用程序中的字符串中?

在C++控制台应用程序中,获取给定文件路径的文件名并存储在字符串中的方法如下:

  1. 首先,包含必要的头文件 <iostream><string>
代码语言:txt
复制
#include <iostream>
#include <string>
  1. 声明一个函数,接受文件路径作为参数,并返回文件名字符串。
代码语言:txt
复制
std::string GetFileName(const std::string& filePath);
  1. 在函数体内,找到文件路径中最后一个目录分隔符的位置。
代码语言:txt
复制
size_t lastSlashIndex = filePath.find_last_of("\\/");
  1. 使用 substr() 函数获取文件名部分(即最后一个目录分隔符后面的部分)。
代码语言:txt
复制
std::string fileName = filePath.substr(lastSlashIndex + 1);
  1. 找到文件名中最后一个点的位置,该点之后的部分即为文件扩展名。
代码语言:txt
复制
size_t lastDotIndex = fileName.find_last_of(".");
  1. 使用 substr() 函数获取文件扩展名部分。
代码语言:txt
复制
std::string fileExtension = fileName.substr(lastDotIndex + 1);
  1. 输出文件扩展名并返回结果。
代码语言:txt
复制
std::cout << "File Extension: " << fileExtension << std::endl;
return fileName;

完整的代码示例:

代码语言:txt
复制
#include <iostream>
#include <string>

std::string GetFileName(const std::string& filePath) {
    size_t lastSlashIndex = filePath.find_last_of("\\/");
    std::string fileName = filePath.substr(lastSlashIndex + 1);
    size_t lastDotIndex = fileName.find_last_of(".");
    std::string fileExtension = fileName.substr(lastDotIndex + 1);
    std::cout << "File Extension: " << fileExtension << std::endl;
    return fileName;
}

int main() {
    std::string filePath = "C:\\path\\to\\file.txt";
    std::string fileName = GetFileName(filePath);
    std::cout << "File Name: " << fileName << std::endl;
    return 0;
}

这段代码通过 GetFileName() 函数获取给定文件路径的文件名,并将文件扩展名存储在字符串中,然后在控制台应用程序中输出文件名和文件扩展名。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云对象存储(COS):https://cloud.tencent.com/product/cos
  • 云数据库 MySQL 版(CVM):https://cloud.tencent.com/product/cdb_mysql
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 人工智能开发平台:https://cloud.tencent.com/product/ai-developer
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

1分7秒

贴片式TF卡/贴片式SD卡如何在N32G4FR上移植FATFS,让SD NAND flash读写如飞

领券