主题:EM9170如何获取当前目录下的文件名 共有44232人关注过本帖 |
---|
高飞228 |
1楼 |
EM9170如何获取当前目录下的文件名 Post By:2015-1-14 19:54:00 [只看该作者]
您好 我们在贵单位买的EM9170开发板由于以前开发经验有限,现在讲一些原来vc6.0的代码转移的时候发现EM9170的SDK不支持CFileFind之类的可以查询当前目录下指定文件的文件名,最简单的例子就是 比如我想查Nand目录下有多少txt文件,这个怎么办呢
|
|
单帖管理 | 引用 | 回复 |
lqk |
2楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2015-1-14 20:10:00 [只看该作者]
可以使用FindFirstFile和FindNextFile函数试试
_tcscpy( szLocalFile, szCurrentDir );
_tcscat( szLocalFile, _T("*.*"));
HANDLE hFind;
WIN32_FIND_DATA FindFileData;
BOOL
BFind;
hFind = FindFirstFile( szLocalFile, &FindFileData);
if(hFind != INVALID_HANDLE_VALUE)
{
BFind = TRUE;
while( BFind )
{
if( FindFileData.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY )
{
_tcscpy( szLocalFile, szCurrentDir );
_tcscat( szLocalFile, FindFileData.cFileName );
_tcscpy( szNewFile, _T("\\nandflash\\"));
_tcscat( szNewFile, FindFileData.cFileName );
dwResult = CopyFile( szLocalFile, szNewFile, FALSE );
memset( localFile, 0, sizeof(localFile));
i1 = wcslen( szLocalFile );
wcstombs( localFile, szLocalFile, i1 );
memset( newFile, 0, sizeof(newFile));
i1 = wcslen( szNewFile );
wcstombs( newFile, szNewFile, i1 );
if( dwResult == 0 )
{
sprintf(DatBuf, "Copy %s to %s failure!\r\n", localFile, newFile );
printf( "%s", DatBuf );
fHandle.Write( DatBuf, strlen( DatBuf ));
fHandle.Close();
return -1;
}
else
{
sprintf(DatBuf, "Copy %s to %s successful!\r\n", localFile, newFile );
printf( "%s", DatBuf );
fHandle.Write( DatBuf, strlen( DatBuf ));
}
}
BFind = FindNextFile( hFind, &FindFileData );
}
}
FindClose( hFind );
|
单帖管理 | 引用 | 回复 |