c++ - 如何查找根路径名称

标签 c++ winapi visual-studio-2013

我想使用 GetDiskFreeSpace() 函数,但我需要根路径名。给定任何文件名输入,我可以使用什么函数来查找其卷路径名?

我从命令行获取输入的函数:

    string targetFile;
    cin.sync();
    cin.clear();
    cout << "Enter target file " << endl;

    getline(cin, targetFile);

    //if statement error handler for targetFile
    fstream file(targetFile.c_str());
    if (!file)
    {
        cout << "File does not exist" << endl;
    }
    file.close();

最佳答案

您可以使用 PathStripToRoot功能来做到这一点。

请注意,文档建议您使用更安全的 PathCchStripToRoot以避免潜在的缓冲区溢出,但这仅适用于 Windows 8。

为了支持相对路径,使用PathIsRelative 来检测相对路径。如果路径是相对路径,则将工作目录传递给上述函数之一。

关于c++ - 如何查找根路径名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24128848/

相关文章:

android - 配置文件共享库 Android NDK 应用程序

c# - 我需要固定匿名代表吗?

visual-studio-2013 - ReSharper 在 VS2013 中阻止键盘输入

c# - 如何检测托管 C# 屏幕保护程序中的 GDI 资源泄漏?

c++ - 确定窗口捕捉距离

c++ - wind-chill 公式的程序表示是什么?

c++ - 是基类型的有符号/无符号部分还是限定符

winforms - C# WM_VScroll 和 VScroll 控件

c - MSVC 的 C 运行时中有哪些类似 POSIX 的函数?

c++ - 递归构建解决方案时构建过程挂起