| Technical Specification | ||||
| Filesystem library(filesystem TS) | ||||
| Library fundamentals(library fundamentals TS) | ||||
| Library fundamentals 2(library fundamentals TS v2) | ||||
| Library fundamentals 3(library fundamentals TS v3) | ||||
| Extensions for parallelism(parallelism TS) | ||||
| Extensions for parallelism 2(parallelism TS v2) | ||||
| Extensions for concurrency(concurrency TS) | ||||
| Extensions for concurrency 2(concurrency TS v2) | ||||
| Concepts(concepts TS) | ||||
| Ranges(ranges TS) | ||||
| Reflection(reflection TS) | ||||
| Mathematical special functions(special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
| Classes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| File types | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | |||||||||||||||||||||
| |||||||||||||||||||||
| Path decomposition | |||||||||||||||||||||
| Non-member functions | |||||||||||||||||||||
template<class CharT,class Traits=std::char_traits<CharT>, class Alloc=std::allocator<CharT>> | (1) | (filesystem TS) |
| (2) | (filesystem TS) | |
std::string string()const; | ||
std::wstring wstring()const; | ||
std::string u8string()const; | ||
std::u16string u16string()const; | ||
std::u32string u32string()const; | ||
Returns the internal pathname in native pathname format, converted to specific string type. Conversion, if any, is specified intodo.
u8string() is always UTF-8.Contents |
(none)
The internal pathname in native pathname format, converted to specified string type.
May throw implementation-defined exceptions.
#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
| returns the path in generic pathname format converted to a string (public member function)[edit] |