如何在C ++中正确获取文件扩展名? Windows平台

时间:2014-03-09 17:30:55

标签: c++ file

本网站上有很多关于这个问题的帖子和答案,但没有人可以提供值得的东西。

最受欢迎的解决方案之一是从字符串中获取文件扩展名。 例如,如果我有一个字符串“myFile.dot”。获取扩展名的结果将是“。dot”,但是,这实际上也可以是一个文件夹,不是文件,不是吗? 该功能将如何识别?

另一种情况,如果我的文件扩展名为“。jfhdj”,例如实际上不存在,我该如何处理呢?

关于 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;
    }
}

如果 struct stat 能够将文件扩展名作为其中一个属性,或者是否有任何WINAPI函数可以从字符串中获取文件扩展名,请告诉我。或者你个人建议什么?希望早日收到你的消息。谢谢。

0 个答案:

没有答案