VC里用哪个API可以遍历获得某一目录下所有文件名字符串?
不想用控件,不要MFC那一套,
最好是单个API的,越简单越好,先谢了
[解决办法]
FindFirstFile那FindNext......依次枚举
[解决办法]
filename = new CString[x];//x为文件个数,可以枚举出来
CFileFind filefind;
CString string= "bug\\*.dat ";
int i = 0;
if(filefind.FindFile(string,0)!=0)
{
while(filefind.FindNextFile()!=0)
{
filename[i] = filefind.GetFilePath();
i++;
}
filename[i] = filefind.GetFilePath();
}
[解决办法]
FindFirstFile, FindNextFile, FindClose
[解决办法]
不想用控件,不要MFC那一套,
--------
那你就得罗嗦点了:
void FindMyFile()
{
WIN32_FIND_DATA FileData;
HANDLE hSearch;
int nCount=0;
BOOL fFinished = FALSE;
// Start searching for .TXT files in the current directory.
hSearch = FindFirstFile( "D:\\*.txt ", &FileData);
if (hSearch == INVALID_HANDLE_VALUE)
{
MessageBox(NULL, "No *.txt files found. ", "你好! ",MB_OK);
}
while (!fFinished)
{
nCount++;
MessageBox(NULL,FileData.cFileName, "dd ",MB_OK);//把文件名字显示出来
if (!FindNextFile(hSearch, &FileData))
{
if (GetLastError() == ERROR_NO_MORE_FILES)
{
MessageBox(NULL, "No more *.txt files. ",
"Search completed. ", MB_OK);
fFinished = TRUE;
}
else
{
MessageBox(NULL, "Couldn 't find next file. ", "你好! ",MB_OK);
}
}
}
// Close the search handle.
if (!FindClose(hSearch))
{
MessageBox(NULL, "Couldn 't close search handle. ", "你好! ",MB_OK);
}
char buf[20]= " ";
sprintf(buf, "有%d个TXT文件 ",nCount);
MessageBox(NULL,buf, "你好! ",MB_OK);
}
[解决办法]
CFileFind