C++如何搜索出该程序目录下所有特定后缀名的文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++如何搜索出该程序目录下所有特定后缀名的文件?相关的知识,希望对你有一定的参考价值。
C++如何搜索出该程序目录下所有特定后缀名的文件?
参考技术A 记录一个小技巧,查找一个目录下所有特定扩展名的的文件名。代码所示是查找所有后缀为“.txt”的文件名,并将结果存储于名为statfileurllist的vector中注:也可以查找子目录
//存储文件名列表
vector<CString> statfileurllist;
//查找TXT文件
WIN32_FIND_DATAA wfd;
CString sPath ="*.txt";//查找指定目录下的所有格式的文件。
//CString sPath ="reso\\*.xls";
HANDLE hFile = FindFirstFile(sPath.GetBuffer(),&wfd);
if(INVALID_HANDLE_VALUE == hFile)
TRACE("不合法!\n");
return;
do
statfileurllist.push_back(wfd.cFileName);
TRACE("%s\n",wfd.cFileName);
while(FindNextFile(hFile,&wfd));
Linux常用命令04(其他命令)
01. 查找文件
- find 命令功能非常强大,通常用来在 特定的目录下 搜索 符合条件的文件
序号 | 命令 | 作用 |
---|---|---|
01 | find [路径] -name "*.py" | 查找指定路径下拓展名是 .py 的文件,包括子目录 |
- 如果省略路径,表示在当前文件夹下查找
示例
1. 搜索桌面目录下,文件名包含 1 的文件
find -name "*1*" |
2. 搜索桌面目录下,所有以 .txt 为拓展名的文件
find -name "*.txt" |
3. 搜索桌面目录下,以数字 1 开头的文件
find -name "1*" |
02. 软链接
序号 | 命令 | 作用 |
---|---|---|
01 | ln -s 被链接的源文件 链接文件 | 建立文件的软连接,类似于 Windows 下创建快捷方式 |
- ps
-
- 没有 -s 选项建立的是一个 硬链接文件
- 两个文件占用相同大小的硬盘文件,相当于复制重命名,应该没有人会这么做吧=.=
-
- 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用
03. 打包压缩
3.1 打包 / 解包
- tar 是 Linux 中最常用的 备份 工具,此命令可以把 一系列文件 打包到 一个大文件中,也可以把一个 打包的大文件恢复成一系列文件
- tar 的命令格式
# 打包文件 tar -cvf 打包文件.tar 被打包文件/路径... # 解包文件 tar -xvf 解包文件.tar |
- tar 选项说明
| 选项 | 含义 |
| :-----| :-----|
| c | 生成档案文件,创建打包文件 |
| x | 解开档案文件 |
| v | 列出归档解档的详细过程,显示进度 |
| f | 指定档案文件名称,f后面一定是 .tar 文件,所以必须放选项最后|
注意:f 选项必须放在最后,其他选项顺序可以随意
3.2 压缩/解压缩
1) gzip
- tar 与 gzip命令结合可以使用实现文件 打包和压缩
- tar 只负责打包文件,但不压缩
- 用 gzip 压缩 tar 打包后的文件,其拓展名一般用 xxx.tar.gz
在Linux中, 最常见的压缩文件格式就是 xxx.tar.gz
- 在tar 命令中有一个选项 -z 可以调用gzip,从而可以方便的实现压缩和解压缩的功能
- 命令格式如下
# 压缩文件 tar -zcvf 压缩文件.tar.gz 被压缩文件/路径... # 解压缩文件 tar -zxvf 压缩文件.tar.gz # 解压缩到指定路径 tar -zxvf 压缩文件.tar.gz -C 目录路径 |
选项 | 含义 |
---|---|
-C | 解压缩到指定目录,注意:要解压缩的目录必须存在 |
04. 软件安装
- apt 是 Advanced Packaging Tool,是 Linux 下的一款安装包管理工具
- 可以在终端中方便的 安装/卸载/更新软件包
# 1. 安装软件 $ sudo apt install 软件包 # 2. 卸载软件 $ sudo apt remove 软件名 # 3. 更新已安装的包 $ sudo apt upgrate |
以上是关于C++如何搜索出该程序目录下所有特定后缀名的文件?的主要内容,如果未能解决你的问题,请参考以下文章