W3cubDocs

/Rust

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

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

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

ⓘImportant traits for Vec<u8>
impl Write for 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 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)>[src]1.30.0

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

ⓘImportant traits for &'_ mut F
impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized, 
    type Output = <F as Future>::Output;
impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized, 
    type Item = <I as Iterator>::Item;
impl<'_, R: Read + ?Sized> Read for &'_ mut R
impl<'_, W: Write + ?Sized> Write for &'_ mut W

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

ⓘImportant traits for &'_ mut F
impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized, 
    type Output = <F as Future>::Output;
impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized, 
    type Item = <I as Iterator>::Item;
impl<'_, R: Read + ?Sized> Read for &'_ mut R
impl<'_, W: Write + ?Sized> Write for &'_ mut W

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]

© 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