在下面判断路径的程序中,总是不能判断目录的合法性,请各位大大指点
typedef struct FD_SINGNAL
{
DWORD attri;
bool flags;
}FD_SINGNAL,*PFD_SINGNAL;//判断路径是否存在并且是否是目录
FD_SINGNAL CFileOperate::checkFd(LPCTSTR pathname)
{
FD_SINGNAL Fd_signal;
Fd_signal.flags=PathFileExists(pathname);
if(Fd_signal.flags)
{
Fd_signal.attri=GetFileAttributes(pathname);
if(Fd_signal.attri&FILE_ATTRIBUTE_DIRECTORY)
{
Fd_signal.attri=FILE_ATTRIBUTE_DIRECTORY;
}
else
{
Fd_signal.attri=0;
}
}
return Fd_signal;
}
typedef struct FD_SINGNAL
{
DWORD attri;
bool flags;
}FD_SINGNAL,*PFD_SINGNAL;//判断路径是否存在并且是否是目录
FD_SINGNAL CFileOperate::checkFd(LPCTSTR pathname)
{
FD_SINGNAL Fd_signal;
Fd_signal.flags=PathFileExists(pathname);
if(Fd_signal.flags)
{
Fd_signal.attri=GetFileAttributes(pathname);
if(Fd_signal.attri&FILE_ATTRIBUTE_DIRECTORY)
{
Fd_signal.attri=FILE_ATTRIBUTE_DIRECTORY;
}
else
{
Fd_signal.attri=0;
}
}
return Fd_signal;
}
你可以在外面声明Fd_signal,然后把地址传进来
你可以在外面声明Fd_signal,然后把地址传进来,或者在函数内部使用 new,在外面使用完后再 delete.