c++读取训练,测试数据

#include <iostream>
#include <string>
#include <vector>
#include <dirent.h>

using namespace std;

std::vector<std::string> get_mesh(std::string folder_path, string phase){
    struct dirent *ptr;
    //string phase = "train";
    //std::string folder_path = "/home/lnf297/Desktop/flk/shrec";
    std::vector<std::string> subfolders;
    std::vector<std::string> meshes;

    DIR* dir = opendir(folder_path.c_str());
    if (dir) {
        dirent* entry;
        while ((entry = readdir(dir)) != nullptr) {
            if (entry->d_type == DT_DIR && std::string(entry->d_name) != "." && std::string(entry->d_name) != "..") {
                subfolders.push_back(entry->d_name);
            }
        }
        closedir(dir);
    } else {
        std::cerr << "Error opening folder " << folder_path << std::endl;
    }
    for(int i = 0; i < subfolders.size(); i++){
        std::string path = folder_path + "/" + subfolders[i] + "/" + phase;
        const char *phase3=path.data();
        dir = opendir(phase3);
        vector<string> files;
        while((ptr=readdir(dir))!=NULL)
        {
            //跳过'.'和'..'两个目录
            if(ptr->d_name[0] == '.')
                continue;
            //cout << ptr->d_name << endl;
            string path_onj = path + "/" + ptr->d_name;
            meshes.push_back(path_onj);
            //files.push_back(ptr->d_name);
        }
    }

    return meshes;

}

int main() {
    std::vector<std::string> path;
    path = get_mesh("/home/lnf297/Desktop/flk/shrec", "train");
    cout <<"hello" << path.size() << endl;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: c是一种用于读取和解析DBC文件的库。DBC文件是一种CAN(Controller Area Network)网络的通信协议描述文件,常用于汽车电子系统的开发与测试。c提供了一套简单易用的API和函数,使得开发人员能够轻松地读取和解析DBC文件中的信息。 通过c库,我们可以获取DBC文件中定义的节点、信号和消息等信息。我们可以获取节点的名称、地址和通信波特率等属性;获取信号的名称、长度、数据类型和单位等属性;获取消息的发送方、接收方、周期和帧ID等属性。这些信息对于开发和测试车辆电子系统非常重要。 使用c库读取DBC文件的过程相对简单。我们首先需要初始化一个dbc文件对象,然后使用该对象打开需要读取的DBC文件。一旦文件被成功打开,我们可以使用各种函数来获取DBC文件中的信息。例如,我们可以使用函数来获取节点的数量、信号的数量、消息的数量等。我们也可以使用函数来获取指定节点、信号或消息的具体信息。 除了读取DBC文件中的信息,c库还提供了其他有用的功能。例如,我们可以使用库提供的函数来验证DBC文件的完整性和正确性。我们还可以使用函数来生成自定义消息、信号和节点等对象,并将其写入到新的DBC文件中。 总而言之,c库提供了一种方便快捷的方式来读取和解析DBC文件。它使得开发人员能够轻松地访问DBC文件中的信息,并在车辆电子系统的开发和测试过程中发挥重要作用。 ### 回答2: DBC文件是一种用于存储CAN(Controller Area Network)通信协议相关信息的文件格式。要读取DBC文件,可以使用一些特定的库或工具,其中一个常用的库是"C"库。 "C"是一种编程语言,它提供了许多库和函数来处理文件和数据。为了读取DBC文件,可以使用"C"库中的文件读取函数来打开和读取文件内容。首先需要通过打开文件函数来打开要读取的DBC文件,然后使用读取文件函数来逐行读取文件内容。对于每一行内容,可以将数据分析和提取出来,并进行相应的处理。 其中一个常用的"C"库是PCAN-Developer,在"PCAN-Developer"库中提供了许多函数用于读取和处理DBC文件。这个库可以通过在代码中包含相关的头文件,并链接到编译器中来使用。通过使用库中提供的函数,我们可以方便地读取和解析DBC文件,并获取到其中的通信协议相关信息。 除了"C"库之外,还有许多其他编程语言也提供了类似的函数或库用于读取DBC文件,比如Python的cantools库、MATLAB的CAN通信工具箱等。 总之,要读取DBC文件,可以使用编程语言中相关的库或工具来实现。通过打开和读取文件的函数,可以逐行读取文件内容,并提取出所需的信息。使用"C"库中的PCAN-Developer库作为例子,我们可以方便地读取和处理DBC文件。 ### 回答3: c读取dbc文件的库是指用于读取dbc文件中定义的CAN网络和通信参数的库。dbc文件是一种用于描述CAN网络通信参数的文件格式,在汽车电子系统开发中被广泛使用。 读取dbc文件的库主要功能包括解析dbc文件内容、提取CAN网络的节点、信号和消息等信息。通过读取dbc文件,可以获取节点的名称、通信地址和属性,信号的名称、起始位和长度,消息的ID和周期等信息,这些信息对于开发CAN总线通信应用非常重要。 读取dbc文件的库一般需要提供相应的API和函数接口,开发人员可以通过使用这些接口来访问和操作dbc文件中的数据。通过读取dbc文件,开发人员可以在应用程序中方便地使用和配置CAN网络的相关参数,提高开发效率和可靠性。 在实际应用中,读取dbc文件的库可以与CAN总线设备驱动库相结合,实现CAN网络的实时数据采集和处理。开发人员可以利用读取dbc文件的库获取CAN消息的数据和状态信息,并进行必要的解析和处理。这样,就能够方便地在应用程序中实现对CAN网络的监控、诊断和控制。 总之,读取dbc文件的库是用于解析和提取dbc文件中CAN网络通信参数的工具库,可以帮助开发人员方便地读取和使用CAN网络的相关信息,提高CAN总线通信应用的开发效率和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值