我想使用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();
答案 0 :(得分:2)
您可以使用PathStripToRoot
功能执行此操作。
请注意,文档建议您使用更安全的PathCchStripToRoot
以避免潜在的缓冲区溢出,但这仅适用于Windows 8。
为了支持相对路径,请使用PathIsRelative
来检测相对路径。如果路径是相对路径,则将工作目录传递给上面的其中一个函数。
答案 1 :(得分:1)