64,282
社区成员
发帖
与我相关
我的任务
分享
boolean fun(char* pszPath)
{
char szFileList[][MAX_PATH * 2] = { 0 };
int iNum=searchFile(pszPath, szFileList[][MAX_PATH * 2]);
//处理完成后如何安全释放内存
}
int searchFile(char* pszDirectory, char szFileList[][MAX_PATH * 2])
{
......
//查找文件
char szFindFileName[MAX_PATH * 2] = { 0 };
//查找的文件名存在szFindFileName,如何加入szFileList,返回
......
//返回查找到的文件数量
return inum;
}
#define MAX_FILE 1000
boolean fun(char* pszPath)
{
static char szFileList[MAX_FILE][MAX_PATH * 2] = { 0 };
int iNum=searchFile(pszPath, szFileList[][MAX_PATH * 2]);
//处理完成后不用释放
}
int searchFile(char* pszDirectory, char szFileList[][MAX_PATH * 2])
{
inum=0;
......
//查找文件
char szFindFileName[MAX_PATH * 2] = { 0 };
//查找的文件名存在szFindFileName,如何加入szFileList,返回
if (inum>=MAX_FILE) {
fprintf(stderr,"in searchFile() inum>%d! The extra will be ignored !\n",MAX_FILE);
return inum;
} else {
strncpy(szFileList[imun],szFindFileName,MAX_PATH * 2-1);
szFileList[imun][MAX_PATH * 2-1]=0;
inum++;
}
//返回查找到的文件数量
return inum;
}
bool fun(char* pszPath)
{
char szFileList[10][MAX_PATH * 2] = { 0 };
int iNum = searchFile(pszPath, &szFileList[0], 10);
//处理完成后如何安全释放内存
}
int searchFile(char* pszDirectory, char szFileList[][MAX_PATH * 2], int size)
{
//查找文件
char szFindFileName[MAX_PATH * 2] = { 0 };
int inum = 0;
//查找的文件名存在szFindFileName,如何加入szFileList,返回
for (int i = 0; i < size; i++)
{
if (strcmp(szFileList[i], szFindFileName) == 0)
inum++;
}
//返回查找到的文件数量
return inum;
}
boolean fun(char* pszPath)
{
char *pszFileList = NULL;
char *pszFile = NULL;
int iPos = 0;
int iFiles = searchFile(pszFilePath);
pszFileList = (char *)malloc(iFiles * (MAX_PATH * 2));
*pszFileList = '\0';
searchFile(pszFilePath, pszFileList);
if (NULL != pszFileList)
free(pszFileList);
pszFileList = NULL;
}
int int searchFile(char* pszDirectory, char *pszFileList)
{
....
do
{
if (pszFileList != NULL)
{
//strcpy_s(pszExcelFileList + iPos, sizeof(szTempSrc) + 1, szTempSrc);
strcat_s(pszExcelFileList, strlen(pszExcelFileList) + strlen(szTempSrc) + 1, szTempSrc);
iPos += strlen(pszExcelFileList);
iPos += 2;
strcat_s(pszExcelFileList, iPos, "|");
}
iFiles++;
} while (......);
....
return iFiles;
}
这么做的麻烦之处在于:返回的多个文件名,拼接成一个字符串,要用文件名的时候,要自己分割字符串,但也好用。