我在一个项目中工作,我需要知道一个文件在目录中是否是唯一的。 那么如何才能找到目录中是否存在文件? 我有没有扩展名的文件名和目录的路径。
答案 0 :(得分:2)
我认为没有现成的功能,但您可以使用以下内容:
static bool fileExists( const char *path )
{
const DWORD attr = ::GetFileAttributesA( path );
return attr != INVALID_FILE_ATTRIBUTES &&
( ( attr & FILE_ATTRIBUTE_ARCHIVE ) || ( attr & FILE_ATTRIBUTE_NORMAL ) );
}
这会验证它是“普通”文件。如果你想处理隐藏文件,你可能想要添加/删除标记检查。
答案 1 :(得分:1)
我更喜欢在C ++方式上这样做,但你提到了一个Visual-C ++标签,所以有一种方法可以在Visual-C ++ .NET上实现:
using <mscorlib.dll>
using namespace System;
using namespace System::IO;
bool search(String folderPath, String fileName) {
String* files[] = Directory::GetFiles(folderPath, fileName+".*"); //search the file with the name fileName with any extension (remember, * is a wildcard)
if(files->getLength() > 0)
return true; //there are one or more files with this name in this folder
else
return false; //there arent any file with this name in this folder
}