Crate terminated [−] [src]
This crate provides types for representing NUL-terminated UTF8 strings.
NulTerminatedStr type is useful when interacting with C APIs that
require/guarantee UTF8 encoding. Rust has great support for dealing with UTF8,
but C strings require a NUL terminator which Rust's
String don't have.
let s = ntstr!("Hello, World!"); // You can use Rust's normal string operations assert_eq!(s.find("World"), Some(7)); // And pass it to C since it's NUL-terminated let ptr = s.as_ptr();
The standard library does provide the
CStr type that is NUL-terminated,
but it does not use any specific encoding. It's therefore insufficient
if your input needs to be both NUL-terminated and UTF8 encoded.
Creates a static
A valid UTF8 string terminated by NUL, the null character.
An error indicating that a string is not correctly NUL-terminated.