精华内容
下载资源
问答
  • string GetFileExt(string&... std::transform(strTemp.begin(), strTemp.end(), strTemp.begin(), ::tolower); string::size_type pos = strTemp.rfind('.'); string strExt = strTemp.s.
    string GetFileExt(string& strFile, int isLower)
    {	
    	if(isLower == 1)
    	{
    		string strTemp = strFile;
    		std::transform(strTemp.begin(), strTemp.end(), strTemp.begin(), ::tolower);
    		string::size_type pos = strTemp.rfind('.');
    		string strExt = strTemp.substr(pos == std::string::npos ? strTemp.length() : pos+1);
    		return strExt;
    	}
    	else
    	{
    		string::size_type pos = strFile.rfind('.');
    		string strExt = strFile.substr(pos == std::string::npos ? strFile.length() : pos+1);
    		return strExt;
    	}	
    }

    参考:http://blog.sina.com.cn/s/blog_af95b18b01017jpu.html

    展开全文
  • C++删除指定文件夹下面的指定后缀文件 1.boost的安装和使用 参考我的另一篇博客boost的安装和使用 2.使用boost的filesystem #include<boost/filesystem.hpp> #include<iostream> using namespace std;...

    C++删除指定文件夹下面的指定后缀的文件

    1.boost的安装和使用

    参考我的另一篇博客boost的安装和使用

    2.使用boost的filesystem

    #include<boost/filesystem.hpp>
    #include<iostream>
    using namespace std;
    using namespace boost::filesystem;
    int main() {
        string dirpath = "C:\\Users\\86151\\Desktop\\cpp\\bin";//目录地址
        string file_extension = ".exe";//删除文件的后缀名
    	path dir = path(dirpath);
        //判断目录是否存在
    	if (!exists(dir)) {
            cout << "目录错误!" << endl;
    		return 0;
    	}
        //判断是否为文件夹
    	if (is_directory(dir)) {
    		recursive_directory_iterator beg_iter(dir);//文件夹开始迭代器
    		recursive_directory_iterator end_iter;//文件夹结束迭代器
    		for (; beg_iter != end_iter; ++beg_iter) {
                //如果当前文件是文件夹,则跳过
    			if (is_directory(*beg_iter)) {
    				continue;
    			}
                //如果文件的后缀名和指定删除文件后缀相同,则删除
    			else if (beg_iter->path().extension() == file_extension)
    			{
    				if (remove(beg_iter->path())) {
    					cout << beg_iter->path().string() << "删除成功!" << endl;
    				}
    			}
    		}
    	}
    	system("pause");
    	return 1;
    }
    
    展开全文
  • C/C++判断文件后缀

    千次阅读 2018-04-04 15:16:27
    1. std::string name("***.**"); std::string extension("**"); name.compare(name.size() - extension.size(), extension.size(), extension) == 0;2.#include &lt;string.h&gt; ...

    1. 

    std::string name("***.**");
    std::string extension("**");
    
    name.compare(name.size() - extension.size(), extension.size(), extension) == 0;

    2.

    #include <string.h>
    
    char tmpStr[100];
    strcpy(tmpStr,"***.**");
    char* pext = std::strrchr(tmpStr, '.');
    std::string extply("ply");
    std::string extpcd("pcd");
    if(pext){
        *pext='\0';
         pext++;
    }
    std::string ext(pext);
    //如果不支持文件格式,退出程序
    if (!((ext == extply)||(ext == extpcd))){
        std::cout << "文件格式不支持!" << std::endl;
        std::cout << "支持文件格式:*.pcd和*.ply!" << std::endl;
        return(-1);
    }
    展开全文
  • #include <dirent.h> #include <iostream> #include <regex> #include <string>...std::vector<... faceDescriptorManager::get_all_files(std::string path, std::string suf...
    #include <dirent.h>
    #include <iostream>
    #include <regex>
    #include <string>
    std::vector<std::string> faceDescriptorManager::get_all_files(std::string path, std::string suffix)
    {
        std::vector<std::string> files;
        files.clear();
        DIR *dp;
        struct dirent *dirp;
        if((dp = opendir(path.c_str())) == NULL)
        {
            cout << "Can not open " << path << endl;
            return files;
        }
        regex reg_obj(suffix, regex::icase);
        while((dirp = readdir(dp)) != NULL)
        {
            if(dirp -> d_type == 8)  // 4 means catalog; 8 means file; 0 means unknown
            {
                if(regex_match(dirp->d_name, reg_obj))
                {
    //                cout << dirp->d_name << endl;
                    string all_path = path + dirp->d_name;
                    files.push_back(all_path);
                    cout << dirp->d_name << " " << dirp->d_ino << " " << dirp->d_off << " " << dirp->d_reclen << " " << dirp->d_type << endl;
                }
            }
        }
        closedir(dp);
        return files;
    }
    

    上一个方法只能获取文件夹下的文件,如果需要获得所有子文件夹里的所有特定后缀名的文件,可用以下方法

    #include <regex>
    #include <string>
    #include <vector>
    #include <dirent.h>
    #include <iostream>
    
    using namespace std;
    
    std::vector<std::string> get_all_files(std::string path, std::string suffix)
    {
        std::vector<std::string> files;
    //    files.clear();
        regex reg_obj(suffix, regex::icase);
    
        std::vector<std::string> paths;
        paths.push_back(path);
    
        for(int i = 0; i < paths.size(); i++)
        {
            string curr_path = paths[i];
            DIR *dp;
            struct dirent *dirp;
            if((dp = opendir(curr_path.c_str())) == NULL)
            {
                cerr << "can not open this file." << endl;
                continue;
            }
            while((dirp = readdir(dp)) != NULL)
            {
                if(dirp->d_type == 4)
                {
                    if((dirp->d_name)[0] == '.') // 这里很奇怪,每个文件夹下都会有两个文件: '.'  和   '..'
                        continue;
    //                cout << dirp->d_name << " ";
                    string tmp_path = curr_path + "/" + dirp->d_name;
    //                cout << tmp_path << " ";
                    paths.push_back(tmp_path);
    //                cout << paths[paths.size() - 1] << endl;
                }
                else if(dirp->d_type == 8)
                {
                    if(regex_match(dirp->d_name, reg_obj))
                    {
                        string full_path = curr_path + "/" + dirp->d_name;
                        files.push_back(full_path);
                    }
                }
            }
            closedir(dp);
        }
        return files;
    }
    
    展开全文
  • * @brief 得到一个文件夹后缀名为extension的所有文件 * param[in] folderName 文件夹名 extension 需要获得的后缀名 vec_filenames 文件名存入容器 */ bool bathReadFileNamesInFolders(const string fol.
  • using namespace std; void fun1() { std::string name = "bird.png"; for (int i = 1; i &lt; name.length(); i++ ) { if (name[i] == '.') { name = name.substr(0, i)...
  • 用C++动手写了个小工具:给指定目录下的除目录外的所有文件添加指定的后缀名。  使用方法:./rename_file 目录名 后缀名   使用示例:./rename_file /home/qiang1994/hello .html  //给/home
  • VMware虚拟机文件后缀详解

    千次阅读 2018-07-09 10:52:32
    虚拟机的文件管理由VMware Workstation来执行,一个虚拟机一般以一系列文件的形式储存在宿主机中,这些文件一般在由workstation为虚拟机所创建的那个目录中。这里列出了这些关键文件的扩展名。在这些例子中,&lt;...
  • OSG C++ 获取文件后缀 OSG修改文件后缀名: 在使用OSG开发时,可以使用OSG提供的接口快速实现文件后缀名的修改,而不用麻烦地自己去写C++代码。 在osg的osgDB/FileNameUtils库中,提供了获取和修改文件后缀的函数...
  • //system #include <...using namespace std; inline bool endsWith(const string& str, const string& suffix) { if (str.size() < suffix.size()) { return false; } auto tstr =.
  • 本文主要向大家介绍了如何使用C语言获取一个文件后缀,通过具体的代码向大家展示,希望对大家学习C语言有所帮助。场景: 图片格式判断和字符大小转换用到函数strrchr() 从字符的最后一个位置开始读起strchr() 从字符...
  • std::string newfile(infile); std::size_t found = newfile.find_last_of("/\\"); if (found != std::string::npos) { std::string dir = newfile.substr(0, found); std::string filename = newfile.subs.
  • 一、文件介绍 .log 日志文件。这个文件记录了VMwareWorkstation对虚拟机调节运行的情况,记录虚拟机操作,可用了故障诊断。 .vmdk 这是一个虚拟磁盘文件,它储存了虚拟机硬盘驱动器里的内容。 一台虚拟机可以由...
  • 获取文件夹下所有文件 QDir dir(src_path); if (!dir.exists()) { std::cout << "the TDat path is not exit" << std::endl; return ; } dir.setFilter(QDir::NoDotAndDotDot | QDir::AllEntries); ...
  • 参考链接:linux 遍历目录+文件(优化版本) #include<stdio.h> #include<stdlib.h> #include<string.h> #include <string> #include <time.h> #include <iostream> #include <...
  • C/C++读取判断文件后缀

    千次阅读 2018-12-28 14:38:30
    通过判断dot的位置获取读入文件后缀名,并使其与指定的后缀名进行对比,一致时返回真值,只使用简单的字符数组操作。 bool decide_ext(char *gname,char *nsuff) // gname: name of the given file // nsuff: ...
  • 该代码主要实现获取指定文件夹及其子文件夹下的指定后缀的所有文件,并以输出其文件名。 如果你的opencv是2.x版本,直接使用下面代码: #include <iostream> #include "opencv2/opencv.hpp" #include <...
  • VMware虚拟机各文件后缀名详解

    千次阅读 2021-03-06 18:19:53
    VMware虚拟机各文件详解   文件类型 文件命名规则 说明 .log文件 <vmname>.log or vmware.log 文件类型说明:文本文件文件记录了VMware Workstation对虚拟机调试运行的情况。 当碰到问题时,这些...
  • C++批量修改文件后缀名的Qt程序 方法一: #include "stdafx.h" #include <stdio.h> #include <fstream> #include <Windows.h> #include <cstdio> #include <iostream> #include <...
  • 由于经常有读取一个文件夹中的很多随机编号的文件,很多时候需要读取某些特定格式的所有文件。 下面的代码可以读取指定文件家中的所有文件和文件夹中格式为jpg的文件 ...using namespace std;    
  • 使用标准的函数接口来,以最简单的方式来做: #include &...using namespace std; // 获取文件类型 string MainWindow::fileType(string extention) { //return extention.substr(extention.find_...
  • 各种文件后缀名对应content-type

    千次阅读 2021-03-04 11:16:31
    ## 各种文件后缀名对应content-type { “123”: “application/vnd.lotus-1-2-3”, “3dml”: “text/vnd.in3d.3dml”, “3ds”: “image/x-3ds”, “3g2”: “video/3gpp2”, “3gp”: “video/3gpp”, “7z”: ...
  • 本文目的:找到“D:/file/”文件夹下后缀名为“.csv”格式的第一个文件。 #include "stdafx.h" #include #include #include "boost/filesystem.hpp" using namespace std; namespace bfs = boost::filesystem; ...
  • c++如何批量修改文件后缀

    千次阅读 2016-01-28 11:04:59
    在日常的应用中,很多时候会用到批量修改图片的后缀名。比如将1.bmp修改为1.jpg。或许我们用格式工厂或者批处理文件.bat课以轻而易举的做到。这里暂不讨论。本篇文章仅仅对如何用c++做图片批处理修改后缀名做一些...
  • 目的:从完整路径中提取文件名、不带后缀的名字、后缀名 如下: #include <iostream> #include <string> using namespace std;void main(){ string path = "C:\\Users\\Administrator\\Desktop\\text\\...
  • VMware虚拟机文件后缀详解【zz】

    千次阅读 2018-07-01 00:53:07
    虚拟机的文件管理由VMware Workstation来执行,一个虚拟机一般以一系列文件的形式储存在宿主机中,这些文件一般在由workstation为虚拟机所创建的那个目录中。这里列出了这些关键文件的扩展名。在这些例子中,&lt;...
  • std命名空间

    千次阅读 多人点赞 2019-05-15 19:05:00
    C++ std命名空间 1. 什么是命名空间 在编程语言中,命名空间是一种特殊的作用域,它包含了处于该作用域中的所有标示符,而且其本身也是由标示符表示的。命名空间的使用目的是为了将逻辑相关的标示符限定在一起,...
  • 在使用程序对大量文件进行批处理的任务中通常需要扫描某个目录下的指定文件。而这个在脚本语言如python中很容易实现的功能在C++中做会有点不方便,复杂的命名规则则将需要用到正则表达式(std::regex)。这里提供了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,093
精华内容 8,437
关键字:

后缀std文件