#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
using namespace std;
void fileFilter(const char * fileName, const char * format)
{
///strstr(str1,str2) str2是否为str1的子串
///此方法不安全
//~ if(NULL == strstr(fileName, format))
//~ {
//~ return;
//~ }
char tempName[10];
memset(tempName,0,10);
memcpy(tempName,fileName+strlen(fileName)-5,4);
///fixed me strcpy会将换行符号过去,导致后面的比较出错
///memcpy拷贝指定的字节数
//strcat(tempName,fileName+strlen(fileName)-5);
if(0==(strcmp(tempName,format)))
{
cout<<"find file name : "<<fileName<<endl;
}
}
int main(int argc, char * argv[])
{
FILE *fp;
char readFileName[64];
char command[32];
memset(readFileName,0,64);
memset(command,0,32);
strcat(command,"ls ./test/");
fp = popen(command, "r");
if(NULL == fp)
{
cout<<"open file error"<<endl;
exit(0);
}
while(fgets(readFileName, 64, fp))
{
// readFileName 中结尾有换行符,操作时要去掉
fileFilter(readFileName,".txt");
}
pclose(fp);
return 0;
}
linux下遍历文件夹下某种格式的文件
最新推荐文章于 2022-11-24 10:57:49 发布