我知道这是相对微不足道的,但我是C ++的新手,并且在所有库函数之间迷失了方向。
在我正在运行的程序的目录中,我有一些名称为SUFFIX_ordinal.xml的文件。 (F.E。:SUFFIX_34.xml,SUFFIX_75.xml ..)
我需要遍历目录中的所有文件,找到这些文件并提取它们的序数。 (F.E。:34,75)。
你能帮忙吗?我甚至不知道从哪里开始。谢谢。答案 0 :(得分:1)
通常boost.filesystem
遍历文件名。
虽然许多人不赞成,但使用sscanf
提取序数可能最简单,例如:sscanf(filename, "SUFFIX_%d.xml", &ordinal);
如果您希望避免使用sscanf
(很难责怪您),那么使用stringstream
之类的内容仍然相当容易:
std::stringstream buffer(filename);
buffer.ignore(100, '_');
buffer >> ordinal;