TCHAR szFilePath = _T("../../conf/upload/1.txt");截取掉最后的文件名。用标准window API实现
时间: 2023-12-16 13:06:37 浏览: 137
您可以使用 Windows API 中的 `PathRemoveFileSpec` 函数来截取掉文件路径中的文件名。以下是示例代码:
```
#include <windows.h>
#include <tchar.h>
TCHAR szFilePath[MAX_PATH];
_tcscpy_s(szFilePath, _T("../../conf/upload/1.txt"));
PathRemoveFileSpec(szFilePath);
```
这里的 `PathRemoveFileSpec` 函数可以直接修改传入的路径参数,将其截取掉最后的文件名部分。需要注意的是,该函数只能用于 Windows 平台。如果您需要在其他平台运行,可以考虑使用其他跨平台的路径操作库,如 Boost.Filesystem。
相关问题
TCHAR szFilePath = _T("../../conf/upload/1.txt");截取掉最后的文件名
您可以使用以下代码来截取掉文件路径中的文件名:
```
TCHAR szFilePath[MAX_PATH];
_tcscpy_s(szFilePath, _T("../../conf/upload/1.txt"));
TCHAR szDir[MAX_PATH];
_tsplitpath_s(szFilePath, NULL, 0, szDir, MAX_PATH, NULL, 0, NULL, 0);
```
这里仍然使用了 `_tsplitpath_s` 函数来分离路径中的目录和文件名,但是只提取了目录部分(即第三个参数,存储在 `szDir` 变量中)。这样就可以得到不包含文件名的路径了。需要注意的是,`_tsplitpath_s` 函数用于分离路径时,不会包含路径分隔符,所以在重新组合路径时,需要手动加上路径分隔符。
TCHAR szFilePath = _T("../../conf/upload/1.txt");如何获取到_T("../../conf/uncompress”)路径
您可以使用以下代码获取目标路径:
```
TCHAR szUncompressPath[MAX_PATH];
PathCombine(szUncompressPath, _T("..\\..\\conf\\uncompress"), NULL);
```
这里使用了 PathCombine 函数来组合路径,第一个参数是目标路径缓冲区,第二个参数是要添加到路径的子路径,第三个参数为NULL表示只是简单地将子路径添加到目标路径中。请注意,这里使用的是 "..\\..\\conf\\uncompress" 而不是 "../../conf/uncompress" ,因为在Windows平台上通常使用反斜杠作为路径分隔符。
阅读全文