如何查找根路径名称

时间:2014-06-09 20:53:00

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

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

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

    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();

2 个答案:

答案 0 :(得分:2)

您可以使用PathStripToRoot功能执行此操作。

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

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

答案 1 :(得分:1)