Function nc::getcwd

source ·
pub unsafe fn getcwd(buf: usize, size: size_t) -> Result<ssize_t, Errno>
Expand description

Get current working directory.

§Example

let mut buf = [0_u8; nc::PATH_MAX as usize + 1];
let ret = unsafe { nc::getcwd(buf.as_mut_ptr() as usize, buf.len()) };
assert!(ret.is_ok());
// Remove null-terminal char.
let path_len = ret.unwrap() as usize - 1;
let cwd = std::str::from_utf8(&buf[..path_len]);
assert!(cwd.is_ok());
Examples found in repository?
examples/getcwd.rs (line 7)
5
6
7
8
9
10
11
12
13
14
fn main() {
    let mut buf = [0_u8; nc::PATH_MAX as usize + 1];
    let ret = unsafe { nc::getcwd(buf.as_mut_ptr() as usize, buf.len()) };
    assert!(ret.is_ok());
    // Remove null-terminal char.
    let path_len = ret.unwrap() as usize - 1;
    let cwd = std::str::from_utf8(&buf[..path_len]);
    assert!(cwd.is_ok());
    println!("cwd: {:?}", cwd.unwrap());
}