OSG C++ 获取文件后缀 OSG修改文件后缀名

本文介绍在OSG框架中使用C++进行文件后缀名的获取与修改的方法。通过osgDB/FileNameUtils库,可以轻松实现文件路径、名称及后缀的解析和更改,适用于OSG开发人员。

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

OSG C++ 获取文件后缀  OSG修改文件后缀名:

在使用OSG开发时,可以使用OSG提供的接口快速实现文件后缀名的修改,而不用麻烦地自己去写C++代码。

在osg的osgDB/FileNameUtils库中,提供了获取和修改文件后缀的函数,如下:

/** Gets the parent path from full name (Ex: /a/b/c.Ext => /a/b). */
extern OSGDB_EXPORT std::string getFilePath(const std::string& filename);
/** Gets the extension without dot (Ex: /a/b/c.Ext => Ext). */
extern OSGDB_EXPORT std::string getFileExtension(const std::string& filename);
/** Gets the extension including dot (Ex: /a/b/c.Ext => .Ext). */
extern OSGDB_EXPORT std::string getFileExtensionIncludingDot(const std::string& filename);
/** Gets the lowercase extension without dot (Ex: /a/b/c.Ext => ext). */
extern OSGDB_EXPORT std::string getLowerCaseFileExtension(const std::string& filename);
/** Gets file name with extension (Ex: /a/b/c.Ext => c.Ext). */
extern OSGDB_EXPORT std::string getSimpleFileName(const std::string& fileName);
/** Gets file path without last extension (Ex: /a/b/c.Ext => /a/b/c ; file.ext1.ext2 => file.ext1). */
extern OSGDB_EXPORT std::string getNameLessExtension(const std::string& fileName);
/** Gets file path without \b all extensions (Ex: /a/b/c.Ext => /a/b/c ; file.ext1.ext2 => file). */
extern OSGDB_EXPORT std::string getNameLessAllExtensions(const std::string& fileName);
/** Gets file name without last extension (Ex: /a/b/c.Ext => c ; file.ext1.ext2 => file.ext1). */
extern OSGDB_EXPORT std::string getStrippedName(const std::string& fileName);

如何修改文件后缀名呢,可以参考下面的代码:

首先引入头文件:

#include <osgDB/FileNameUtils>

然后给定一个目录文件,只需要两句代码即可修改后缀名,如下: 

string fileName = "D:\\all.txt";

std::cout << osgDB::getNameLessExtension(fileName);       // D:\\all
string newfileName = osgDB::getNameLessExtension(fileName) + ".xml";     //D:\\all.xml

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值