Zig 0.17.0-dev (Split by item)

Shortcut keys
?
Show these tips
S
Focus search field
Esc
Clear focus & close tips
U
Jump to source code
↑
Move up in search results
↓
Move down in search results
↵
Go to active search result
This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig standard library. Public Function

createDirPath

Public Function
std.Io.Dir.createDirPath
pub fn createDirPath(dir: Dir, io: Io, sub_path: []const u8) CreateDirPathError!void

Creates parent directories with default permissions as necessary to ensure sub_path exists as a directory.

Returns success if the path already exists and is a directory.

This function may not be atomic. If it returns an error, the file system may have been modified.

Fails on an empty path with error.BadPathName as that is not a path that can be created.

On Windows, sub_path should be encoded as WTF-8. On WASI, sub_path should be encoded as valid UTF-8. On other platforms, sub_path is an opaque sequence of bytes with no particular encoding.

Paths containing .. components are handled differently depending on the platform:

  • On Windows, .. are resolved before the path is passed to NtCreateFile, meaning a sub_path like "first/../second" will resolve to "second" and only a ./second directory will be created.
  • On other platforms, .. are not resolved before the path is passed to mkdirat, meaning a sub_path like "first/../second" will create both a ./first and a ./second directory.

See also:

Params

  • dir: Dir
  • io: Io
  • sub_path: []const u8

File

Io/Dir.zig:846
846
847
848
pub fn createDirPath(dir: Dir, io: Io, sub_path: []const u8) CreateDirPathError!void {
    _ = try io.vtable.dirCreateDirPath(io.userdata, dir, sub_path, .default_dir);
}