最終更新日時(UTC):
が更新

履歴 編集

function
<filesystem>

std::filesystem::path::u8string(C++17)

std::string u8string() const;

概要

UTF-8エンコードで、パス文字列を取得する。

戻り値

*thisが保持するシステムのネイティブフォーマットを持つパスを、UTF-8エンコードで返す。

POSIXベースシステムでの例

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

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

  const std::string s = p.u8string();
  std::cout << s << std::endl;
}

出力

/usr/bin/clang

Windowsでの例

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main()
{
  fs::path p = "foo/bar";

  const std::string s = p.u8string();
  std::cout << s << std::endl;
}

出力

foo\bar

Windowsでの例は、Visual C++が正式にファイルシステムライブラリをサポートしていないことから、未検証のサンプルコード・出力となっている。

バージョン

言語

  • C++17

処理系