【问题标题】:Convert boost/filesystem to string将 boost/文件系统转换为字符串
【发布时间】:2021-07-10 21:15:21
【问题描述】:

我正在尝试将 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 转换为字符串?

【问题讨论】:

    标签: c++ boost-filesystem


    【解决方案1】:

    首先获取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();
                        
        }
        
    }
    

    【讨论】: