Jes*_*tin 2 c++ filesystems directory file-io visual-c++
我正在用 DirectX 和 C++ 制作一个简单的游戏。但我想在 Documents 中为设置等创建一个目录。
但我不知道我需要怎么做?
有人能帮我吗?
C++11 标准n3337不知道目录。C++17 有<filesystem>标准头文件。
如果您的实现符合 C++17(可能不是),请使用 std::filesystem::create_directory
否则,使用操作系统原语。请注意,目录的概念可以是特定于操作系统的(即在一个操作系统中与另一个操作系统不同,甚至可能在不同的文件系统之间)。对于 Windows,研究WinAPI(所以考虑CreateDirectoryA)。对于 Linux,查看它的syscalls(2)(所以考虑mkdir(2))
一些框架,特别是Qt、POCO、Boost,在它们之上提供了通用包装器。
您可以使用一个简单的 mkdir from<direct.h>来创建目录
_mkdir("C:\\Data\\FolderName");
Run Code Online (Sandbox Code Playgroud)
您可以使用 Visual Studio 的<filesystem>
有一个create_directory具有签名的函数
template<class Path>
inline bool create_directory(
const Path& Pval
);
Run Code Online (Sandbox Code Playgroud)
SHGetKnownFolderPath您可以找到具有签名的用户的文档目录
HRESULT SHGetKnownFolderPath(
_In_ REFKNOWNFOLDERID rfid,
_In_ DWORD dwFlags,
_In_opt_ HANDLE hToken,
_Out_ PWSTR *ppszPath
);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,REFKNOWNFOLDERID您要使用的是FOLDERID_Documents
请注意,这是特定于 Visual Studio 的。C++<filesystem>库目前仍在开发中(即实验性的),但希望很快就会推出!
| 归档时间: |
|
| 查看次数: |
37677 次 |
| 最近记录: |