Trait std::os::unix::fs::OpenOptionsExt1.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

将自定义标志传递给 openflags 参数。

定义访问模式的位被 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

Implementors