【小程序】找出文件夹中特定后缀名的文件,并输出到txt

简介:

因为这几天在弄Qt,这些高级语言真的没啥,但是环境却是很难配好,要放入所有的Qt库文件,必须找出所有 .lib 后缀的文件,于是。。。这个程序应运而生。


这个小程序没有文件夹的嵌套,其实归根结底,程序的核心就是一些系统函数的调用和字符串处理。


直接上代码:

//只需要输出当前文件夹里面的文件名
//不用管嵌套文件夹

#include "stdio.h" 
#include "windows.h"
#include <string.h>

//对不满足要求的文件不予显示
bool process(char str[],char suffix[])
{
	if(str[0]=='.')
		return false;

	//去掉没有后缀的
	int i;
	for(i=0;i<strlen(str);i++)
	{
		if(str[i]=='.')
			break;
	}
	//说明没有后缀
	if(i==strlen(str))
		return false;


	//如果有后缀,说明此时的i就是那个 '.' 的位置
	int pointPos=i;
	for(i=pointPos+1;i<strlen(str);i++)
	{
		if(str[i]!=suffix[i-pointPos-1])
			break;
	}
	//说明后缀不同
	if(i!=strlen(str))
		return false;


	return true;
}

void find(char * lpPath,char *suf)
{
	//这里的proStr必须要分配内存空间,如果只是char *,strcpy会报错
	char proStr[MAX_PATH];

	char szFind[MAX_PATH],szFile[MAX_PATH];

	WIN32_FIND_DATA FindFileData;

	strcpy(szFind,lpPath);
	strcat(szFind,"\\*.*");

	HANDLE hFind=::FindFirstFile(szFind,&FindFileData);

	if(INVALID_HANDLE_VALUE == hFind) 
		return;

	while(TRUE) 
	{
		strcpy(proStr,FindFileData.cFileName);
		
		//进入处理函数进行判断,传入文件名
		if(process(proStr,suf)==true)
			printf("%s\n",FindFileData.cFileName);
			
		if(!FindNextFile(hFind,&FindFileData)) 
			break;
	}
}


 
void main() 
{
	char tFPath[50];
	char suffix[30];
	printf("Please enter the target folder path:\n");
	scanf("%s",tFPath);

	//strcpy(tFPath,"D:\\Qt\\4.8.2\\lib");

	printf("Please enter the Suffix you want:\n");
	scanf("%s",suffix);

	//会生成到d盘的result.txt文件
	//必须放到后面,不然printf就打印到文件里面了
	freopen("d:/result.txt","w",stdout);

	find(tFPath,suffix);
}

运行效果:




相关文章
|
6月前
|
小程序 前端开发 数据可视化
微信小程序云开发入门教程-全局文件介绍
微信小程序云开发入门教程-全局文件介绍
|
12月前
|
小程序 API
uniapp小程序选择文件并上传到uniCloud
uniapp小程序选择文件并上传到uniCloud
298 0
|
3月前
|
小程序 前端开发
|
4月前
|
移动开发 小程序 前端开发
uniap开发微信小程序如何在线预览pdf文件
这是一段关于在线预览和处理PDF的多方案说明,包括使用JavaScript库PDF.js(如`pdfh5.js`)实现H5页面预览,提供QQ群和技术博客链接以获取帮助和支持。还介绍了两个适用于Uni-app的插件,一个用于H5、小程序和App中的PDF预览和下载,另一个专门解决手机端PDF预览问题。此外,还详细描述了在Uni-app中使用微信小程序API`wx.openDocument`显示PDF的步骤,包括上传文件、配置权限和编写代码。
|
6月前
|
小程序 开发工具 开发者
【微信小程序】微信开发者工具 引用 vant-weapp时“miniprogram/node_modules/@babel/runtime/index.js: 未找到npm包入口文件” 解决办法
【微信小程序】微信开发者工具 引用 vant-weapp时“miniprogram/node_modules/@babel/runtime/index.js: 未找到npm包入口文件” 解决办法
322 1
|
前端开发 小程序
微信小程序系列——无缝引入CSS或者WXML文件
微信小程序系列——无缝引入CSS或者WXML文件
|
存储 小程序
微信小程序-WXS独立文件
在上一章当中,我们将 WXS 的内容与 WXML 混合在一起了,这样就导致了我们后期的不利于维护,这里一期当中我来介绍一下,如何将 WXS 内容编写到一个单独的 WXS 文件进行存储,然后与 WXML 进行分离。
113 0
|
6月前
|
缓存 小程序 API
【社区每周】新增保存文件到系统储存空间API;小程序开发体验问卷调研发布
【社区每周】新增保存文件到系统储存空间API;小程序开发体验问卷调研发布
76 11
|
6月前
|
小程序 JavaScript 前端开发
微信小程序有几个文件
微信小程序通常由多个文件组成,主要包括以下几种类型的文件:
133 1
|
6月前
|
JSON 小程序 前端开发
简单描述下微信小程序的相关文件以及类型?
简单描述下微信小程序的相关文件以及类型?
119 1