<i id='pfkN5'><tr id='pfkN5'><dt id='pfkN5'><q id='pfkN5'><span id='pfkN5'><b id='pfkN5'><form id='pfkN5'><ins id='pfkN5'></ins><ul id='pfkN5'></ul><sub id='pfkN5'></sub></form><legend id='pfkN5'></legend><bdo id='pfkN5'><pre id='pfkN5'><center id='pfkN5'></center></pre></bdo></b><th id='pfkN5'></th></span></q></dt></tr></i><div id='pfkN5'><tfoot id='pfkN5'></tfoot><dl id='pfkN5'><fieldset id='pfkN5'></fieldset></dl></div>

<tfoot id='pfkN5'></tfoot>
  • <legend id='pfkN5'><style id='pfkN5'><dir id='pfkN5'><q id='pfkN5'></q></dir></style></legend>

        • <bdo id='pfkN5'></bdo><ul id='pfkN5'></ul>
      1. <small id='pfkN5'></small><noframes id='pfkN5'>

      2. 从路径中获取文件名

        时间:2023-10-06

                <bdo id='ln0gl'></bdo><ul id='ln0gl'></ul>

                <small id='ln0gl'></small><noframes id='ln0gl'>

                  <tfoot id='ln0gl'></tfoot>
                1. <i id='ln0gl'><tr id='ln0gl'><dt id='ln0gl'><q id='ln0gl'><span id='ln0gl'><b id='ln0gl'><form id='ln0gl'><ins id='ln0gl'></ins><ul id='ln0gl'></ul><sub id='ln0gl'></sub></form><legend id='ln0gl'></legend><bdo id='ln0gl'><pre id='ln0gl'><center id='ln0gl'></center></pre></bdo></b><th id='ln0gl'></th></span></q></dt></tr></i><div id='ln0gl'><tfoot id='ln0gl'></tfoot><dl id='ln0gl'><fieldset id='ln0gl'></fieldset></dl></div>
                    <tbody id='ln0gl'></tbody>
                  <legend id='ln0gl'><style id='ln0gl'><dir id='ln0gl'><q id='ln0gl'></q></dir></style></legend>
                  本文介绍了从路径中获取文件名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  从路径中获取文件名的最简单方法是什么?

                  What is the simplest way to get the file name that from a path?

                  string filename = "C:\MyDirectory\MyFile.bat"
                  

                  在这个例子中,我应该得到MyFile".无需扩展.

                  In this example, I should get "MyFile". without extension.

                  推荐答案

                  _splitpath 应该做你需要的.您当然可以手动完成,但 _splitpath 也可以处理所有特殊情况.

                  _splitpath should do what you need. You could of course do it manually but _splitpath handles all special cases as well.

                  正如 BillHoag 提到的,建议使用更安全的 _splitpath 版本,称为 _splitpath_s 可用时.

                  As BillHoag mentioned it is recommended to use the more safe version of _splitpath called _splitpath_s when available.

                  或者如果你想要一些便携的东西,你可以做这样的事情

                  Or if you want something portable you could just do something like this

                  std::vector<std::string> splitpath(
                    const std::string& str
                    , const std::set<char> delimiters)
                  {
                    std::vector<std::string> result;
                  
                    char const* pch = str.c_str();
                    char const* start = pch;
                    for(; *pch; ++pch)
                    {
                      if (delimiters.find(*pch) != delimiters.end())
                      {
                        if (start != pch)
                        {
                          std::string str(start, pch);
                          result.push_back(str);
                        }
                        else
                        {
                          result.push_back("");
                        }
                        start = pch + 1;
                      }
                    }
                    result.push_back(start);
                  
                    return result;
                  }
                  
                  ...
                  std::set<char> delims{'\'};
                  
                  std::vector<std::string> path = splitpath("C:\MyDirectory\MyFile.bat", delims);
                  cout << path.back() << endl;
                  

                  这篇关于从路径中获取文件名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:如何使用_CRT_SECURE_NO_WARNINGS 下一篇:为什么这个程序会崩溃:在 DLL 之间传递 std::stri

                  相关文章

                  最新文章

                  <tfoot id='WrHdK'></tfoot>
                  • <bdo id='WrHdK'></bdo><ul id='WrHdK'></ul>
                    <legend id='WrHdK'><style id='WrHdK'><dir id='WrHdK'><q id='WrHdK'></q></dir></style></legend>
                  1. <i id='WrHdK'><tr id='WrHdK'><dt id='WrHdK'><q id='WrHdK'><span id='WrHdK'><b id='WrHdK'><form id='WrHdK'><ins id='WrHdK'></ins><ul id='WrHdK'></ul><sub id='WrHdK'></sub></form><legend id='WrHdK'></legend><bdo id='WrHdK'><pre id='WrHdK'><center id='WrHdK'></center></pre></bdo></b><th id='WrHdK'></th></span></q></dt></tr></i><div id='WrHdK'><tfoot id='WrHdK'></tfoot><dl id='WrHdK'><fieldset id='WrHdK'></fieldset></dl></div>

                    <small id='WrHdK'></small><noframes id='WrHdK'>