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

Struct std::ffi::NulError

1.64.0 · source ·

pub struct NulError(/* private fields */);

Expand description

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 onCString. See its documentation for more.

Examples

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

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

Run

source§

1.0.0 · source

Returns the position of the nul byte in the slice that causedCString::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

1.0.0 · source

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

source§

source§

1.0.0 · source§

1.0.0 · source§

source§

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

1.30.0 · source§

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

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.0.0 · source§

source§

source§

This method tests for self and other values to be equal, and is used by ==.

1.0.0 · source§

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

source§

source§

source§

§

§

§

§

§