提取具有给定后缀的文件名部分C++

Extracting parts of file names with a given suffix in C++

本文关键字:文件名部 C++ 后缀 提取      更新时间:2023-10-16

我知道这相对微不足道,但我是C++新手,并且在所有库函数之间迷失了方向。

在我正在运行的程序的目录中,我有一些文件名为SUFFIX_ordinal.xml的文件。(F.E.:SUFFIX_34.xml,SUFFIX_75.xml.

我需要遍历目录中的所有文件,找到这些文件并提取它们的序号。(F.E.:34,75)。

你能帮忙吗?我什至不知道从哪里开始。谢谢。

通常boost.filesystem循环访问文件名。

虽然很多人不赞成,但提取序数可能是最简单的 sscanf ,例如:sscanf(filename, "SUFFIX_%d.xml", &ordinal);

如果你更喜欢避免sscanf(很难责怪你),使用像stringstream这样的东西仍然相当容易:

std::stringstream buffer(filename);
buffer.ignore(100, '_');
buffer >> ordinal;