用下面这个函数判断路径的合法性(包括路径是否存在) BOOL PathFileExists( LPCTSTR pszPath );例子如下:#include <windows.h> #include <iostream.h> #include "Shlwapi.h"void main( void ) { // Valid file path name (file is there). char buffer_1[ ] = "C:\\TEST\\file.txt"; char *lpStr1; lpStr1 = buffer_1;// Invalid file path name (file is not there). char buffer_2[ ] = "C:\\TEST\\file.doc"; char *lpStr2; lpStr2 = buffer_2; // Return value from "PathFileExists". int retval;// Search for the presence of a file with a true result. retval = PathFileExists(lpStr1); if(retval == 1) { cout << "Search for the file path of : " << lpStr1 << endl; cout << "The file requested \"" << lpStr1 << "\" is a valid file" << endl; cout << "The return from function is : " << retval << endl; }else{ cout << "\nThe file requested " << lpStr1 << " is not a valid file" << endl; cout << "The return from function is : " << retval << endl; }// Search for the presence of a file with a false result. retval = PathFileExists(lpStr2); if(retval == 1) { cout << "\nThe file requested " << lpStr2 << "is a valid file" << endl; cout << "Search for the file path of : " << lpStr2 << endl; cout << "The return from function is : " << retval << endl; }else{ cout << "\nThe file requested \"" << lpStr2 << "\" is not a valid file" << endl; cout << "The return from function is : " << retval << endl; } }
BOOL PathFileExists(
LPCTSTR pszPath
);例子如下:#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"void main( void )
{
// Valid file path name (file is there).
char buffer_1[ ] = "C:\\TEST\\file.txt";
char *lpStr1;
lpStr1 = buffer_1;// Invalid file path name (file is not there).
char buffer_2[ ] = "C:\\TEST\\file.doc";
char *lpStr2;
lpStr2 = buffer_2;
// Return value from "PathFileExists".
int retval;// Search for the presence of a file with a true result.
retval = PathFileExists(lpStr1);
if(retval == 1)
{
cout << "Search for the file path of : " << lpStr1 << endl;
cout << "The file requested \"" << lpStr1 << "\" is a valid file" << endl;
cout << "The return from function is : " << retval << endl;
}else{
cout << "\nThe file requested " << lpStr1 << " is not a valid file" << endl;
cout << "The return from function is : " << retval << endl;
}// Search for the presence of a file with a false result.
retval = PathFileExists(lpStr2);
if(retval == 1)
{
cout << "\nThe file requested " << lpStr2 << "is a valid file" << endl;
cout << "Search for the file path of : " << lpStr2 << endl;
cout << "The return from function is : " << retval << endl;
}else{
cout << "\nThe file requested \"" << lpStr2 << "\" is not a valid file" << endl;
cout << "The return from function is : " << retval << endl;
}
}
ConnectWork.cpp
Linking...
ConnectWork.obj : error LNK2001: unresolved external symbol __imp__PathFileExistsA@4
Release/SAT200.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.SAT200.exe - 2 error(s), 0 warning(s)
HANDLE hFind = FindFirstFile("FileName", &fd);
if ( ( hFind != INVALID_HANDLE_VALUE ) && ( fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) )
{
......
}