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

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

浏览量:470 时间: 来源:This is bill

因为这几天在弄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",FindFileData.cFileName);if(!FindNextFile(hFind,&FindFileData)) break;}} void main() {char tFPath[50];char suffix[30];printf("Please enter the target folder path:");scanf("%s",tFPath);//strcpy(tFPath,"D:\Qt\4.8.2\lib");printf("Please enter the Suffix you want:");scanf("%s",suffix);//会生成到d盘的result.txt文件//必须放到后面,不然printf就打印到文件里面了freopen("d:/result.txt","w",stdout);find(tFPath,suffix);}

运行效果:

小程序



版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎