FromVecWithNulError in std::ffi - Rust (original) (raw)

Struct FromVecWithNulError

1.58.0 · Source

pub struct FromVecWithNulError { /* private fields */ }

Expand description

An error indicating that a nul byte was not in the expected position.

The vector used to create a CString must have one and only one nul byte, positioned at the end.

This error is created by the CString::from_vec_with_nul method. See its documentation for more.

§Examples

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

let _: FromVecWithNulError = CString::from_vec_with_nul(b"f\0oo".to_vec()).unwrap_err();

1.58.0 · Source§

1.58.0 · Source

Returns a slice of u8s bytes that were attempted to convert to a CString.

§Examples

Basic usage:

use std::ffi::CString;

// Some invalid bytes in a vector
let bytes = b"f\0oo".to_vec();

let value = CString::from_vec_with_nul(bytes.clone());

assert_eq!(&bytes[..], value.unwrap_err().as_bytes());

1.58.0 · Source

Returns the bytes that were attempted to convert to a CString.

This method is carefully constructed to avoid allocation. It will consume the error, moving out the bytes, so that a copy of the bytes does not need to be made.

§Examples

Basic usage:

use std::ffi::CString;

// Some invalid bytes in a vector
let bytes = b"f\0oo".to_vec();

let value = CString::from_vec_with_nul(bytes.clone());

assert_eq!(bytes, value.unwrap_err().into_bytes());

1.64.0 · Source§

1.64.0 · Source§

1.58.0 · Source§

1.58.0 · Source§

1.30.0 · Source§

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

1.0.0 · Source§

👎Deprecated since 1.42.0: use the Display impl or to_string()

1.0.0 · Source§

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting

Source§

🔬This is a nightly-only experimental API. (error_generic_member_access #99301)

Provides type-based access to context intended for error reports. Read more

1.64.0 · Source§

Source§

Tests for self and other values to be equal, and is used by ==.

1.0.0 · Source§

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

1.64.0 · Source§

1.64.0 · Source§

§

§

§

§

§

§