Struct std::ffi::NulError
pub struct NulError(_, _);
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 on CString
. See its documentation for more.
Examples
use std::ffi::{CString, NulError}; let _: NulError = CString::new(b"f\0oo".to_vec()).unwrap_err();
Implementations
impl NulError
pub fn nul_position(&self) -> usize
Returns the position of the nul byte in the slice that caused CString::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);
pub fn into_vec(self) -> Vec<u8>
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");
Trait Implementations
impl Clone for NulError
fn clone(&self) -> NulError
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for NulError
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more
impl Display for NulError
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more
impl Error for NulError
fn description(&self) -> &str
use the Display impl or to_string()
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
fn backtrace(&self) -> Option<&Backtrace>
Returns a stack backtrace, if available, of where this error occurred. Read more
fn cause(&self) -> Option<&dyn Error>
replaced by Error::source, which can support downcasting
impl From<NulError> for Error
impl PartialEq<NulError> for NulError
fn eq(&self, other: &NulError) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &NulError) -> bool
This method tests for !=
.
impl Eq for NulError
impl StructuralEq for NulError
impl StructuralPartialEq for NulError
Auto Trait Implementations
impl RefUnwindSafe for NulError
impl Send for NulError
impl Sync for NulError
impl Unpin for NulError
impl UnwindSafe for NulError
Blanket Implementations
impl<T> From<T> for T
pub fn from(t: T) -> T
Performs the conversion.
pub fn into(self) -> U
Performs the conversion.
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
#41263)recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
Performs the conversion.
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
Performs the conversion.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/ffi/struct.NulError.html