主题:EM9170如何获取当前目录下的文件名

  共有44233人关注过本帖    
高飞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 );

  单帖管理 | 引用 | 回复 回到顶部

返回首页

EM9170如何获取当前目录下的文件名

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: