Trait std::os::unix::fs::OpenOptionsExt 1.1.0[−][src]
pub trait OpenOptionsExt { fn mode(&mut self, mode: u32) -> &mut Self; fn custom_flags(&mut self, flags: i32) -> &mut Self; }
This is supported on Unix only.
Expand description
特定于 Unix 的 fs::OpenOptions
扩展。
Required methods
设置将用于创建新文件的模式位。
如果在 OpenOptions::open
调用中创建了一个新文件,则此指定的 mode
将用作新文件的权限位。
如果未设置 mode
,则将使用默认值 0o666
。
操作系统用系统的 umask
屏蔽掉某些位,以产生最终权限。
Examples
use std::fs::OpenOptions; use std::os::unix::fs::OpenOptionsExt; let mut options = OpenOptions::new(); options.mode(0o644); // 为所有者提供读写权限,为其他人提供读取权限。 let file = options.open("foo.txt");Run
将自定义标志传递给 open
的 flags
参数。
定义访问模式的位被 O_ACCMODE
屏蔽,以确保它们不干扰 Rusts 选项设置的访问模式。
自定义标志只能设置标志,而不能删除 Rusts 选项设置的标志。 此选项将覆盖以前设置的所有自定义标志。
Examples
extern crate libc; use std::fs::OpenOptions; use std::os::unix::fs::OpenOptionsExt; let mut options = OpenOptions::new(); options.write(true); if cfg!(unix) { options.custom_flags(libc::O_NOFOLLOW); } let file = options.open("foo.txt");Run