vc怎么查找某一路径下指定名称的文件是否存在?

假设搜索路径已经知道,赋值为strPath,怎样查找是否存在与char ch1中名称相同的文件?函数返回结果是什么?
不用搜索子目录。

第1个回答  2008-03-15
FindFirstFile、FindNextFile、FindClose
第一个函数使用文件名来查找文件,可以支持通配符“*”、“?”,在没有找到文件的时候会返回INVALID_HANDLE_VALUE。
第二个函数接着查找符合条件的文件,成功则直接返回TRUE。
第三个函数结束查找工作,关闭句柄。
详细参数见MSDN
第2个回答  2008-03-14
调用 CreateFile方法:
HANDLE CreateFile(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile );
把dwCreationDisposition设成OPEN_EXISTING
如果存在返回文件句柄。
失败则返回INVALID_HANDLE_VALUE
第3个回答  2008-03-15
搜索指定文件有专门的API的 这个API需要提供一个文件名而不是通配符

SearchTreeForFile
搜索速度相当快

BOOL SearchTreeForFile(
PSTR RootPath, //根目录 如:C:\
PSTR InputPathName, //文件名 如1.txt
PSTR OutputPathBuffer //存放搜索到的路径
);
第4个回答  2008-03-14
FILE *fp = fopen(strPath, "r")

if(fp == NULL)
{
//没有同名文件
}本回答被提问者采纳
第5个回答  2008-03-14
GetFileAttributes()获取文件属性,用它的返回值可以判断是否不存在

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网