c++ - C++ 中的 IncludeTrailingPathDelimiter() 怎么样?

标签 c++ visual-c++ visual-studio-2013

有没有类似Delphi的IncludeTrailingPathDelimiter()的东西函数将 '\' 字符添加到路径字符串的末尾,而无需在我的 .cpp 文件中写入文字 "\\" ,或我项目的任何其他地方?

#include <shlobj.h>

TCHAR szFolderPath[MAX_PATH];

if (SHGetSpecialFolderPath(NULL, szFolderPath, CSIDL_LOCAL_APPDATA, FALSE))
{
    cout << szFolderPath << endl;

}

最佳答案

在 Windows 上,有 Shell API 的 PathCchAddBackslash()函数(使用起来比 PathAddBackslash() 更安全)。

#include <shlobj.h>
#include <Pathcch.h>

TCHAR szFolderPath[MAX_PATH];

if (SHGetSpecialFolderPath(NULL, szFolderPath, CSIDL_LOCAL_APPDATA, FALSE))
{
    PathCchAddBackslash(szFolderPath, MAX_PATH);
    cout << szFolderPath << endl;
}

否则,用 C++ 自己实现应该不难。

关于c++ - C++ 中的 IncludeTrailingPathDelimiter() 怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49310032/

相关文章:

c++ - 使用 libmysql 插入特殊字符

c++ - 比较C++中的2个日期

c++ - 如何设置检查菜单项mfc C++

c++ - 获取十六进制字符串的字节长度的替代方法

visual-studio-2013 - visual studio 2013 中的 Dotnetnuke 8 模块开发错误

c++ - CMake 和 GTest 链接测试

c++ - 如何处理模板化代码中的变量const?

c++ - 在 C++ 中使用 DirectShow 或其他 COM 库时,我#import 哪些 DLL?

visual-studio - TFS 2013 + GIT, checkin 政策

visual-studio-2013 - Nuget:远程服务器返回错误:(504) 网关超时