【发布时间】:2022-07-21 18:02:28
【问题描述】:
我有一个包含某个文件路径的字符串。该文件不需要存在(在我的函数中可以创建它),但该目录必须存在是必要的。所以我想使用<filesystem> 库来检查它。
我试过这段代码:
std::string filepath = {"C:\\Users\\User\\test.txt"};
bool filepathExists = std::filesystem::exists(filepath);
另外,路径是绝对的。例如,对于"C:\Users\User\file.txt",我想检查"C:\Users\User" 是否存在。
我曾尝试使用迭代器构造一个字符串:从 '\\' 的开头到最后一次出现,但它的解决方案非常粗略,如果路径仅包含文件名,则会出现异常。
因此,有人可以提供更优雅的方式吗?
【问题讨论】:
-
试试
is_directory(filepath.parent_path())。
标签: c++ file directory utilities std-filesystem