本文简要介绍rust语言中 Enum std::path::Prefix 的用法。
用法
pub enum Prefix<'a> {
Verbatim(&'a OsStr),
VerbatimUNC(&'a OsStr, &'a OsStr),
VerbatimDisk(u8),
DeviceNS(&'a OsStr),
UNC(&'a OsStr, &'a OsStr),
Disk(u8),
}Windows 路径前缀,例如 C: 或 \\server\share 。
Windows 使用各种路径前缀样式,包括对驱动器卷的引用(例如C:)、网络共享文件夹(如\\server\share), 和别的。此外,一些路径前缀是“verbatim”(即前缀为\\?\), 在这种情况下/是不是被视为分隔符并且本质上不执行标准化。
例子
use std::path::{Component, Path, Prefix};
use std::path::Prefix::*;
use std::ffi::OsStr;
fn get_path_prefix(s: &str) -> Prefix {
let path = Path::new(s);
match path.components().next().unwrap() {
Component::Prefix(prefix_component) => prefix_component.kind(),
_ => panic!(),
}
}
assert_eq!(Verbatim(OsStr::new("pictures")),
get_path_prefix(r"\\?\pictures\kittens"));
assert_eq!(VerbatimUNC(OsStr::new("server"), OsStr::new("share")),
get_path_prefix(r"\\?\UNC\server\share"));
assert_eq!(VerbatimDisk(b'C'), get_path_prefix(r"\\?\c:\"));
assert_eq!(DeviceNS(OsStr::new("BrainInterface")),
get_path_prefix(r"\\.\BrainInterface"));
assert_eq!(UNC(OsStr::new("server"), OsStr::new("share")),
get_path_prefix(r"\\server\share"));
assert_eq!(Disk(b'C'), get_path_prefix(r"C:\Users\Rust\Pictures\Ferris"));变体
Verbatim(&'a OsStr)
元组字段
0: &'a OsStr逐字前缀,例如 \\?\cat_pics 。
逐字前缀由紧跟给定组件的\\?\ 组成。
VerbatimUNC(&'a OsStr, &'a OsStr)
使用 Windows' 的逐字前缀U尼福尔N阿明C公约,例如,\\?\UNC\server\share.
Verbatim UNC 前缀由\\?\UNC\ 组成,后跟服务器的主机名和共享名。
VerbatimDisk(u8)
元组字段
0: u8逐字磁盘前缀,例如 \\?\C: 。
逐字磁盘前缀由 \\?\ 紧跟驱动器号和 : 组成。
DeviceNS(&'a OsStr)
元组字段
0: &'a OsStr设备命名空间前缀,例如 \\.\COM42 。
设备命名空间前缀由\\.\ 紧跟设备名称组成。
UNC(&'a OsStr, &'a OsStr)
使用 Windows 的前缀U尼福尔N阿明C公约,例如\\server\share.
UNC 前缀由服务器的主机名和共享名组成。
Disk(u8)
元组字段
0: u8给定磁盘驱动器的前缀C:。
相关用法
- Rust PrefixComponent用法及代码示例
- Rust Prefix.is_verbatim用法及代码示例
- Rust PanicInfo.payload用法及代码示例
- Rust Path.components用法及代码示例
- Rust PathBuf.with_capacity用法及代码示例
- Rust Poll.map用法及代码示例
- Rust Peekable.peek用法及代码示例
- Rust Path.is_symlink用法及代码示例
- Rust Poll.map_ok用法及代码示例
- Rust Pointer用法及代码示例
- Rust Path.canonicalize用法及代码示例
- Rust PartialOrd.partial_cmp用法及代码示例
- Rust Path.is_relative用法及代码示例
- Rust Path.file_stem用法及代码示例
- Rust PermissionsExt.set_mode用法及代码示例
- Rust Path.to_string_lossy用法及代码示例
- Rust Path.display用法及代码示例
- Rust PathBuf.into_os_string用法及代码示例
- Rust Peekable.next_if用法及代码示例
- Rust PanicInfo用法及代码示例
- Rust PathBuf.pop用法及代码示例
- Rust Path.ancestors用法及代码示例
- Rust Path用法及代码示例
- Rust Path.is_dir用法及代码示例
- Rust Path.strip_prefix用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Enum std::path::Prefix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
