C++相当于MATLAB的"fileparts"函数

SSi*_*ilk 3 c++ file-io matlab

在MATLAB中有一个很好的函数叫做fileparts,它接受一个完整的文件路径并将其解析为路径,文件名(没有扩展名)和扩展名,如下面的例子所示:

file = 'H:\user4\matlab\classpath.txt';

[pathstr, name, ext] = fileparts(file)

>> pathstr = H:\user4\matlab

>> name = classpath

>> ext = .txt
Run Code Online (Sandbox Code Playgroud)

所以我想知道在我可以使用的任何标准C++或C库中是否存在等效函数?或者我自己必须实现这个?我意识到这很简单,但我想如果已经有一些预制的东西会更好.

谢谢.

Jim*_*mmy 5

boost库有一个文件系统组件"basic_path",允许您使用迭代器来发现文件名中的每个组件.这样的组件将是特定于操作系统的,我相信你需要为Windows,Linux等单独编译boost.