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.

Examples

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

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

Methods

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.

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);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.

Examples

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 Display for NulError[src]

impl Debug for NulError[src]

impl PartialEq<NulError> for NulError[src]

impl Eq 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 Sync for NulError

impl Send for NulError

Blanket Implementations

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

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

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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