删除一个完整文件名路径中的文件名和反斜杠。
函数声明:
BOOL PathRemoveFileSpec(
_Inout_ LPTSTR pszPath
);
参数:
_Inout_ LPTSTR pszPath
类型:LPTSTR
一个指向完整路径名的指针,指向的路径名长度最大为MAX_PATH且以null字符串结束。
返回:
类型:BOOL
若删除成功,则返回非0,否则返回0;
头文件:
Shlwapi.h
库文件:
Shlwapi.lib
实例,使用vs2013 Release 32位编译:
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include "Shlwapi.h"
#pragma comment(lib, "Shlwapi.lib")
void main(void)
{
// Path to include file spec.
char buffer_1[] = "C:\\TEST\\sample.txt";
char *lpStr1;
lpStr1 = buffer_1;
// Print the path with the file spec.
std::cout << "The path with file spec is : " << lpStr1 << std::endl;
// Call to "PathRemoveFileSpec".
PathRemoveFileSpec(lpStr1);
// Print the path without the file spec.
std::cout << "\nThe path without file spec is : " << lpStr1 << std::endl;
getchar();
}
其中会报错类似“"char *" 类型的实参与 "LPWSTR" 类型的形参不兼容”,将字符集中的“unicode”改为“未设置”即可,如下:
最终输出:
参考网址