Skip to content

Latest commit

 

History

History
97 lines (75 loc) · 1.71 KB

has_root_directory.md

File metadata and controls

97 lines (75 loc) · 1.71 KB

has_root_directory

  • filesystem[meta header]
  • std::filesystem[meta namespace]
  • path[meta class]
  • function[meta id-type]
  • cpp17[meta cpp]
bool has_root_directory() const;

概要

パスにルートディレクトリが含まれているか判定する。

戻り値

return !root_directory().empty();
  • root_directory()[link root_directory.md]
  • empty()[link empty.md]

POSIXベースシステムでの例

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main()
{
  fs::path p = "/usr/bin/clang";

  fs::path root_directory = p.root_directory();
  std::cout << root_directory << std::endl;

  if (p.has_root_directory()) {
    std::cout << "has root directory" << std::endl;
  }
  else {
    std::cout << "doesn't have root directory" << std::endl;
  }
}
  • has_root_directory()[color ff0000]
  • p.root_directory()[link root_directory.md]

出力

"/"
has root directory

Windowsでの例

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main()
{
  fs::path p = "C:/Program Files/a.txt";

  fs::path root_directory = p.root_directory();
  std::cout << root_directory << std::endl;

  if (p.has_root_directory()) {
    std::cout << "has root directory" << std::endl;
  }
  else {
    std::cout << "doesn't have root directory" << std::endl;
  }
}
  • has_root_directory()[color ff0000]
  • p.root_directory()[link root_directory.md]

出力

"/"
has root directory

バージョン

言語

  • C++17

処理系