[Fusion multi-capteurs] [Utiliser le code pour vérifier et créer des dossiers sous le chemin spécifié] [Référence d'utilisation du LOG]

0 Préface

1 utilisation

1.1 Exemple de code

bool FrontEnd::InitDataPath(const YAML::Node& config_node) {
    
    
    data_path_ = config_node["data_path"].as<std::string>();
    if (data_path_ == "./") {
    
    
        data_path_ = WORK_SPACE_PATH;
    }
    data_path_ += "/slam_data";

    if (boost::filesystem::is_directory(data_path_)) {
    
    
        boost::filesystem::remove_all(data_path_);
    }

    boost::filesystem::create_directory(data_path_);
    if (!boost::filesystem::is_directory(data_path_)) {
    
    
        LOG(WARNING) << "文件夹 " << data_path_ << " 未创建成功!";
        return false;
    } else {
    
    
        LOG(INFO) << "地图点云存放地址:" << data_path_;
    }

    std::string key_frame_path = data_path_ + "/key_frames";
    boost::filesystem::create_directory(data_path_ + "/key_frames");
    if (!boost::filesystem::is_directory(key_frame_path)) {
    
    
        LOG(WARNING) << "文件夹 " << key_frame_path << " 未创建成功!";
        return false;
    } else {
    
    
        LOG(INFO) << "关键帧点云存放地址:" << key_frame_path << std::endl << std::endl;
    }

    return true;
}

1.2 Analyse des codes

  • data_path_est stringun chemin au format

1.2.1 Vérifier l'existence du dossierboost::filesystem::is_directory( data_path_)

  • exemple
    data_path_ += "/slam_data";

    if (boost::filesystem::is_directory(data_path_)) {
    
    
        boost::filesystem::remove_all(data_path_);
    }

1.2.2 Supprimer le dossierboost::filesystem::remove_all(data_path_)

  • exemple
    data_path_ += "/slam_data";

    if (boost::filesystem::is_directory(data_path_)) {
    
    
        boost::filesystem::remove_all(data_path_);
    }

1.2.3 Créer un dossierboost::filesystem::create_directory(data_path_)

  • exemple
    data_path_ += "/slam_data";

    if (boost::filesystem::is_directory(data_path_)) {
    
    
        boost::filesystem::remove_all(data_path_);
    }

    boost::filesystem::create_directory(data_path_);

1.2.4 Fonction : Vider le dossier et en créer un nouveau

    data_path_ += "/slam_data";

    if (boost::filesystem::is_directory(data_path_)) {
    
    
        boost::filesystem::remove_all(data_path_);
    }

    boost::filesystem::create_directory(data_path_);

1.2.5 Vérifier l'existence de dossiers et sortir de manière interactive

    if (!boost::filesystem::is_directory(data_path_)) {
    
    
        LOG(WARNING) << "文件夹 " << data_path_ << " 未创建成功!";
        return false;
    } else {
    
    
        LOG(INFO) << "地图点云存放地址:" << data_path_;
    }

Je suppose que tu aimes

Origine blog.csdn.net/qq_45954434/article/details/126451680
conseillé
Classement