C ++获取文件扩展名而不在路径中提供扩展

时间:2013-08-09 20:32:46

标签: c++ file

我有一堆名为Apple-1,...,Apple-n的图像,但我不知道Apple-x是否是.jpeg或.png而我想确定它不知道它& #39; sa .jpeg或其他。

我所知道的是图像是如何标记的,我希望将它们的扩展名变成一个字符串(不是所有的字符串,我会检查每个图像)。 我很感激任何想法:)

(这里有一个类似的问题,但是对于C#:Get extension of file without providing extension in the path

2 个答案:

答案 0 :(得分:3)

您可以使用boost::filesystem轻松完成此操作:

示例

boost::filesystem::path folder(boost::filesystem::current_path());
for (boost::filesystem::directory_iterator it(folder), end; 
     it != end; ++it)
{
    auto ext = it->path().extension();
    if (ext == ".jpeg")
    {
        std::cout << "is jpeg" << std::endl;
    }
}

答案 1 :(得分:0)

boost文件系统库为此及相关路径问题提供了一组出色的功能“请参阅here