PathCommonPrefix function
Compares two paths to determine if they share a common prefix. A prefix is one of these types: "C:\\", ".", "..", "..\\".
Syntax
int PathCommonPrefix(
_In_ LPCTSTR pszFile1,
_In_ LPCTSTR pszFile2,
_Out_opt_ LPTSTR pszPath
);
Parameters
- pszFile1 [in]
-
Type: LPCTSTR
A pointer to a null-terminated string of length MAX_PATH that contains the first path name.
- pszFile2 [in]
-
Type: LPCTSTR
A pointer to a null-terminated string of length MAX_PATH that contains the second path name.
- pszPath [out, optional]
-
Type: LPTSTR
A pointer to a buffer that receives the common prefix. This buffer must be at least MAX_PATH characters in size. If there is no common prefix, it is set to NULL.
Return value
Type: int
Returns the count of common prefix characters in the path. If the output buffer pointer is not NULL, then these characters are copied to the output buffer.
Examples
#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"
void main( void )
{
// String path name 1.
char buffer_1[ ] = "C:\\win\\desktop\\temp.txt";
char *lpStr1;
lpStr1 = buffer_1;
// String path name 2.
char buffer_2[ ] = "c:\\win\\tray\\sample.txt";
char *lpStr2;
lpStr2 = buffer_2;
// String path out buffer.
char buffer_3[ ] = "abcdef";
char *lpStr3;
lpStr3 = buffer_3;
// Variable to get the return.
// from "PathCommonPrefix"
int retval;
retval = PathCommonPrefix(lpStr1,lpStr2,lpStr3);
cout << "The contents of String 1: " << lpStr1 << endl;
cout << "The contents of String 2: " << lpStr2 << endl;
cout << "The length of the output buffer is : " << retval << endl;
cout << "The contents of Output buffer: " << lpStr3 << endl;
}
OUTPUT:
-----------
The contents of String 1: C:\win\desktop\temp.txt
The contents of String 2: c:\win\tray\sample.txt
The length of the output buffer is : 6
The contents of Output buffer: C:\win
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 | PathCommonPrefixW (Unicode) and PathCommonPrefixA (ANSI) |
Send comments about this topic to Microsoft
Build date: 11/28/2012