我知道这是相对琐碎的,但是我是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;

07-24 09:45
查看更多