1.0.0[][src]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.


use std::ffi::{CString, NulError};

let _: NulError = CString::new(b"f\0oo".to_vec()).unwrap_err();Run


impl NulError[src]

pub fn nul_position(&self) -> usize[src]

Returns the position of the nul byte in the slice that caused CString::new to fail.


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

Important traits for Vec<u8>
pub fn into_vec(self) -> Vec<u8>[src]

Consumes this error, returning the underlying vector of bytes which generated the error in the first place.


use std::ffi::CString;

let nul_error = CString::new("foo\0bar").unwrap_err();
assert_eq!(nul_error.into_vec(), b"foo\0bar");Run

Trait Implementations

impl Error for NulError[src]

fn cause(&self) -> Option<&dyn Error>[src]

Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

The lower-level cause of this error, if any. Read more

fn source(&self) -> Option<&(dyn Error + 'static)>1.30.0[src]

The lower-level source of this error, if any. Read more

impl PartialEq<NulError> for NulError[src]

impl Eq for NulError[src]

impl Display for NulError[src]

impl Debug for NulError[src]

impl From<NulError> for Error[src]

fn from(_: NulError) -> Error[src]

Converts a NulError into a io::Error.

impl Clone for NulError[src]

fn clone_from(&mut self, source: &Self)[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl UnwindSafe for NulError

impl RefUnwindSafe for NulError

impl Unpin for NulError

impl Send for NulError

impl Sync for NulError

Blanket Implementations

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> From<T> for T[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized