将 boost/filesystem 转换为字符串

Convert boost/filesystem to string

我正在尝试将 boost::filesystem 类型转换为字符串,但它告诉我“string()”不是 boost::filesystem 的成员:

void myClass::encryptFile()
{ 
// Récursion sur un chemin donné
for (boost::filesystem::recursive_directory_iterator end, dir(DirPath); dir != end; ++dir) 
{   
    // Vérification du type de l'objet
    if (!boost::filesystem::is_regular_file(*dir))
    {
    
    
        string ptext = *dir.string();
                    
    }
    
}

如何将 *dir 转换为字符串?

先拿到boost::filesystem::path

void myClass::encryptFile()
{ 
// Récursion sur un chemin donné
for (boost::filesystem::recursive_directory_iterator end, dir(DirPath); dir != end; ++dir) 
{   
    // Vérification du type de l'objet
    if (!boost::filesystem::is_regular_file(*dir))
    {
    
    
        string ptext = dir->path().string();
                    
    }
    
}