Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::experimental::filesystem::path::c_str,std::experimental::filesystem::path::native,std::experimental::filesystem::path::operator string_type()

      From cppreference.com
      <cpp‎ |experimental‎ |fs‎ |path
       
       
       
      Filesystem library
      Classes
      Functions
      File types
       
      path
      Member functions
      Path decomposition
      Non-member functions
       
      const value_type* c_str()const;
      (1)(filesystem TS)
      const string_type& native()const;
      (2)(filesystem TS)
      operator string_type()const;
      (3)(filesystem TS)

      Accesses the native path name as a character string.

      1) Equivalent tonative().c_str().
      2) Returns the native string representation of the pathname by reference.
      3) Returns the native string representation of the pathname by value.

      Contents

      [edit]Parameters

      (none)

      [edit]Return value

      The native string representation of the pathname, using native syntax, native character type, and native character encoding. This string is suitable for use with OS APIs.

      [edit]Exceptions

      1,2)
      noexcept specification:  
      noexcept
        

      [edit]Notes

      The conversion function(3) is provided so that standard file-opening APIs that acceptstd::basic_string file names, such as thestd::ifstream constructor, can use pathnames with no changes to code:

      fs::path p="/tmp/text.txt";std::ifstream f(p);

      [edit]Example

      Run this code
      #include <clocale>#include <cstdio>#include <experimental/filesystem>#include <fstream>#include <iostream>namespace fs= std::experimental::filesystem; int main(){std::setlocale(LC_ALL,"en_US.utf8");std::locale::global(std::locale("en_US.utf8"));     fs::path p= fs::u8path(u8"要らない.txt"); // native string representation can be used with OS APIsstd::ofstream(p)<<"File contents";// this uses operator string()if(std::FILE* f=std::fopen(p.c_str(),"r")){int ch;while((ch=fgetc(f))!=EOF) putchar(ch);std::fclose(f);} // multibyte and wide representation can be used for outputstd::cout.imbue(std::locale());std::cout<<"\nFile name in narrow multibyte encoding: "<< p.string()<<'\n'; std::wcerr.imbue(std::locale());std::wcerr<<"File name in wide encoding: "<< p.wstring()<<'\n';     fs::remove(p);}

      Possible output:

      File contentsFile name in narrow multibyte encoding: 要らない.txtFile name in wide encoding: 要らない.txt

      [edit]See also

      returns the path in native pathname format converted to a string
      (public member function)[edit]
      returns the path in generic pathname format converted to a string
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/fs/path/native&oldid=91544"

      [8]ページ先頭

      ©2009-2026 Movatter.jp