NulError in std::ffi - Rust (original) (raw)
Struct std::ffi::NulError
1.64.0 · source ·
pub struct NulError(/* private fields */);
Expand description
An error indicating that an interior nul byte was found.
While Rust strings may contain nul bytes in the middle, C strings can’t, as that byte would effectively truncate the string.
This error is created by the new method onCString. See its documentation for more.
Examples
use std::ffi::{CString, NulError};
let _: NulError = CString::new(b"f\0oo".to_vec()).unwrap_err();
1.0.0 · source
Returns the position of the nul byte in the slice that causedCString::new to fail.
Examples
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);
1.0.0 · source
Consumes this error, returning the underlying vector of bytes which generated the error in the first place.
Examples
use std::ffi::CString;
let nul_error = CString::new("foo\0bar").unwrap_err();
assert_eq!(nul_error.into_vec(), b"foo\0bar");
👎Deprecated since 1.42.0: use the Display impl or to_string()
The lower-level source of this error, if any. Read more
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access
#99301)
Provides type based access to context intended for error reports. Read more
This method tests for self
and other
values to be equal, and is used by ==
.
This method tests for !=
. The default implementation is almost always sufficient, and should not be overridden without very good reason.