PathIsPrefix function
Searches a path to determine if it contains a valid prefix of the type passed by pszPrefix. A prefix is one of these types: "C:\\", ".", "..", "..\\".
Syntax
BOOL PathIsPrefix( _In_ IN LPCTSTR pszPrefix, _In_ IN LPCTSTR pszPath );
Parameters
- pszPrefix [in]
-
Type: IN LPCTSTR
A pointer to a null-terminated string of maximum length MAX_PATH that contains the prefix for which to search.
- pszPath [in]
-
Type: IN LPCTSTR
A pointer to a null-terminated string of maximum length MAX_PATH that contains the path to be searched.
Return value
Type: BOOL
Returns TRUE if the compared path is the full prefix for the path, or FALSE otherwise.
Examples
#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"
void main( void )
{
// Path prefix 1.
char buffer_1[ ] = "C:\\";
char *lpStr1;
lpStr1 = buffer_1;
// Path prefix 2.
char buffer_2[ ] = "C:\\test\\Some\\sample";
char *lpStr2;
lpStr2 = buffer_2;
// Path prefix 3.
char buffer_3[ ] = "sample";
char *lpStr3;
lpStr3 = buffer_3;
// Search a path prefix with result true.
cout << "The contents of path 1 is : " << lpStr1
<< "\nThe contents of path 2 is : " << lpStr2
<< "\nThe return from the function is : "
<< PathIsPrefix(lpStr1,lpStr2)
<< "\nPathIsPrefix returns TRUE "
<< "\nand Path lpStr1 and lpStr2"
<< "\nhave the same prefix :" << endl;
// Search a path prefix with result false.
cout << "\nThe contents of path 1 is : " << lpStr1
<< "\nThe contents of path 3 is : " << lpStr3
<< "\nThe return from the function is : "
<< PathIsPrefix(lpStr1,lpStr3)
<< "\nPathIsPrefix returns FALSE "
<< "\nand Path lpStr1 and lpStr3"
<< "\nhave different prefixes :" << endl;
}
OUTPUT:
==============
The contents of path 1 is : C:\
The contents of path 2 is : C:\test\Some\sample
The return from the function is : 1
PathIsPrefix returns TRUE
and Path lpStr1 and lpStr2
have the same prefix :
The contents of path 1 is : C:\
The contents of path 3 is : sample
The return from the function is : 0
PathIsPrefix returns FALSE
and Path lpStr1 and lpStr3
have different prefixes :
Requirements
|
Minimum supported client | Windows 2000 Professional, Windows XP [desktop apps only] |
|---|---|
|
Minimum supported server | Windows 2000 Server [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
|
Unicode and ANSI names | PathIsPrefixW (Unicode) and PathIsPrefixA (ANSI) |
Send comments about this topic to Microsoft
Build date: 11/28/2012