[Fusion multi-capteurs] [Utiliser le code pour vérifier et créer des dossiers sous le chemin spécifié]
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 string
un chemin au format
1.2.1 Vérifier l'existence du dossierboost::filesystem::is_directory( data_path_)
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_)
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_)
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_;
}