pub struct NulError(_, _);
Expand description
指示发现内部 nul 字节的错误。
尽管 Rust 字符串的中间可能包含 nul 个字节,但 C 字符串却不能,因为该字节会有效地截断该字符串。
该错误是由 CString
上的 new
方法创建的。有关更多信息,请参见其文档。
use std::ffi::{CString, NulError};
let _: NulError = CString::new(b"f\0oo".to_vec()).unwrap_err();
Run
返回导致 CString::new
失败的切片中 nul 字节的位置。
use std::ffi::CString;
let nul_error = CString::new("foo\0bar").unwrap_err();
assert_eq!(nul_error.nul_position(), 3);
let nul_error = CString::new("foo bar\0").unwrap_err();
assert_eq!(nul_error.nul_position(), 7);
Run
消耗此错误,返回底层的 vector 字节,该字节首先生成错误。
use std::ffi::CString;
let nul_error = CString::new("foo\0bar").unwrap_err();
assert_eq!(nul_error.into_vec(), b"foo\0bar");
Run
👎 Deprecated since 1.42.0:
use the Display impl or to_string()
🔬 This is a nightly-only experimental API. (
backtrace
#53487)
👎 Deprecated since 1.33.0:
replaced by Error::source, which can support downcasting
🔬 This is a nightly-only experimental API. (toowned_clone_into
#41263)
recently added