windows c语言遍历目录下文件

时间:2021-10-11 14:39:00

相邻的另外一篇文章有更加详细的解释 关键代码就5行

static int process_fopen(meter_t meter, char* iqpath)

{

WIN32_FIND_DATA p;
HANDLE h;
static int num = 0;

char path[128];

char iqdata[sizeof(TDOASensorInfo_st) + sizeof(float) * 4096 * 2];


sprintf(path,"%s%s", iqpath, "*");
h=FindFirstFile(path, &p);
// puts(p.cFileName);                                 //指针指的第一个位置并不是文件夹内第一个文件  是 "."(一个点)
while(FindNextFile(h,&p))
{
if(num++ > 0) //第二个也不是 是 ".."(两个点)
{
puts(p.cFileName); //得到文件的名称 并不是文件的绝对路径
sprintf(path,"%s%s", iqpath, p.cFileName);  //拼合组成文件的绝对路径
fp = fopen(path, "rb");
if(fp == NULL)
{
printf("无法打开IQ文件");
log_debug(ZONE,"无法打开IQ文件");
}
else
{
fread(iqdata, sizeof(TDOASensorInfo_st) + sizeof(float) * 4096 * 2, 1, fp);   //读取文件
_j630_process_iqtest_agilentToKunlei_data(meter, iqdata, path);               //对数据操作
}
fclose(fp);
}
}

return 0;

}