c++提取文件名中数字

    
    struct dirent *ptr;    
    DIR *dir;

    std::string PATH1 ="/home/test/";//读取test文件内容
    std::string PATH2 = "/home/test/";//输出结果到test
    std::vector<string> file_list;//
    dir=opendir(PATH1.c_str()); 
    std::cout << "Read the files list  "<< std::endl;
    while((ptr=readdir(dir))!=NULL)
    {
    
    
        if(ptr->d_name[0] == '.')
            continue;
        std::string file_name = ptr->d_name;
        int point_index = file_name.find("_");//找到"_"下划线所在位置
        std::string file_num = file_name.substr(0,point_index);//在"file_name"字符串中,从0位置开始截取point_index个字符
        file_list.push_back(file_num);
    }
    closedir(dir);

猜你喜欢

转载自blog.csdn.net/zhangqian_shai/article/details/123707457