当前位置: 技术问答>linux和unix
平台的移植,Windows上函数怎么办?
来源: 互联网 发布时间:2014-12-17
本文导语: _findfirst() _findnext() _findclose() 三个函数对应linux下的那些函数? | 没有完全对应的函数,不过查找文件可以这样实现: 先opendir,然后readdir直到返回NULL,最后closedir。 给你一段以前写的代码: int FindFile...
_findfirst()
_findnext()
_findclose()
三个函数对应linux下的那些函数?
_findnext()
_findclose()
三个函数对应linux下的那些函数?
|
没有完全对应的函数,不过查找文件可以这样实现:
先opendir,然后readdir直到返回NULL,最后closedir。
给你一段以前写的代码:
int FindFile(SFileArray *pFileList, char *tDir, int iMaxNum, char tHead)
{
DIR *pDIR;
struct dirent *pDirVal;
int iNum=0;
if(NULL == (pDIR=opendir(tDir)))
return(0);
while(NULL != (pDirVal=readdir(pDIR)))//反复查找各个目录
{
if(tHead == (pDirVal->d_name[0]))//找到一个文件
{
if(FILENAME_LEN-2 d_name))//不理睬该文件
continue;
memset(pFileList->cName, 0, FILENAME_LEN);
strcpy(pFileList->cName, pDirVal->d_name);
pFileList++;
iNum++;
if(iMaxNum == iNum)
break;
}
}
closedir(pDIR);
return(iNum);
}
先opendir,然后readdir直到返回NULL,最后closedir。
给你一段以前写的代码:
int FindFile(SFileArray *pFileList, char *tDir, int iMaxNum, char tHead)
{
DIR *pDIR;
struct dirent *pDirVal;
int iNum=0;
if(NULL == (pDIR=opendir(tDir)))
return(0);
while(NULL != (pDirVal=readdir(pDIR)))//反复查找各个目录
{
if(tHead == (pDirVal->d_name[0]))//找到一个文件
{
if(FILENAME_LEN-2 d_name))//不理睬该文件
continue;
memset(pFileList->cName, 0, FILENAME_LEN);
strcpy(pFileList->cName, pDirVal->d_name);
pFileList++;
iNum++;
if(iMaxNum == iNum)
break;
}
}
closedir(pDIR);
return(iNum);
}
|
要是通过 wine 环境模拟不能运行的话重写算了。
|
findfirst()
findnext()
在TC20中全支持,另一个好象也是去掉前面的下划线,记不太清楚
findnext()
在TC20中全支持,另一个好象也是去掉前面的下划线,记不太清楚
|
对呀,linux下有相同功能的系统调用,只要想法知道叫什么名称就容易了