Gold mine of Visual C++ tricks!
Posts tagged parent path
How to parse the parent directory from a given path – More easily?
Aug 6th
![]()
Yesterday one of my friend called me to solve the mystery behind his crash! When i checked the code, i saw a couple of string operations by pointers, memory allocations, memset - All evils under one hood.
Actually the memset caused the crash which writes beyond the buffer and corrupt other stack objects.
But suddenly i noticed one thing – what he is trying to do? He have a path and he wants to get the parent path. E.g. If his path is “C:\Application\Config”, then he want to get - “C:\Application” the just parent path. Well, the guy brushed up old string lessons and handled everything by himself which resulted in crash. I reviled him a secret api to do the stuff painlessly. Mmmm… I can tell that secret to you too…
![]()
The api is – PathRemoveFileSpec(). You can use it to remove the last directory or filename from the given path. Have a look at the code snippet.
#include "Shlwapi.h"
...
// Main path.
TCHAR pBinPath[] = _T("C:\\MyApplication\\bin");
// Get the parent path.
PathRemoveFileSpec( pBinPath );
// Now the pBinPath contains - "C:\\MyApplication"
![]()
Don’t forget to add Shlwapi.lib to project settings.
![]()
Targeted Audience – Beginners.