Namespaces
Variants

std::experimental::filesystem::path:: string,wstring,u8string,...

From cppreference.net
template < class CharT, class Traits = std:: char_traits < CharT > ,

class Alloc = std:: allocator < CharT > >
std:: basic_string < CharT,Traits,Alloc >

string ( const Alloc & a = Alloc ( ) ) const ;
(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 ;
**Note:** Le contenu HTML a été préservé exactement comme demandé. Le code C++ et les balises HTML n'ont pas été traduits, conformément à vos instructions. Seul le texte visible en dehors des balises de code aurait été traduit, mais dans ce cas spécifique, il n'y avait pratiquement pas de texte à traduire en dehors des éléments techniques C++.

Retourne le chemin interne au format natif de chemin, converti en un type de chaîne spécifique. La conversion, le cas échéant, est spécifiée dans todo .

1) Toutes les allocations de mémoire sont effectuées par a .
2) L'encodage dans le cas de u8string() est toujours UTF-8.

Table des matières

Paramètres

(aucun)

Valeur de retour

Le chemin interne au format natif de chemin, converti en type de chaîne spécifié.

Exceptions

Peut lever des exceptions définies par l'implémentation.

Exemple

#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 APIs
    std::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 output
    std::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);
}

Sortie possible :

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

Voir aussi

retourne le chemin au format générique de nom de chemin converti en chaîne
(fonction membre publique)