我知道这相对微不足道,但我是 C++ 新手,在所有库函数之间迷路了。
在我正在运行的程序的目录中,我有一些名称为 SUFFIX_ordinal.xml 的文件。(FE:SUFFIX_34.xml、SUFFIX_75.xml..)
我需要遍历目录中的所有文件,找到这些文件并提取它们的序数。(FE:34、75)。
你能帮我吗?我什至不知道从哪里开始。谢谢你。
我知道这相对微不足道,但我是 C++ 新手,在所有库函数之间迷路了。
在我正在运行的程序的目录中,我有一些名称为 SUFFIX_ordinal.xml 的文件。(FE:SUFFIX_34.xml、SUFFIX_75.xml..)
我需要遍历目录中的所有文件,找到这些文件并提取它们的序数。(FE:34、75)。
你能帮我吗?我什至不知道从哪里开始。谢谢你。
通常boost.filesystem
遍历文件名。
尽管很多人不赞成,但使用 提取序数可能是最简单的sscanf
,例如:sscanf(filename, "SUFFIX_%d.xml", &ordinal);
如果你喜欢避免sscanf
(很难怪你),使用类似的东西仍然相当容易stringstream
:
std::stringstream buffer(filename);
buffer.ignore(100, '_');
buffer >> ordinal;