[−][src]Crate zombiezen_const_cstr
Create static C-compatible strings from Rust string literals.
Example
use zombiezen_const_cstr::{const_cstr, ConstCStr}; use std::os::raw::c_char; use std::ffi::CStr; /// Declare a constant: const HELLO_CSTR: ConstCStr = const_cstr!("Hello, world!"); // Imagine this is an `extern "C"` function linked from some other lib. unsafe fn print_c_string(cstr: *const c_char) { println!("{}", CStr::from_ptr(cstr).to_str().unwrap()); } fn main() { let goodnight_cstr = const_cstr!("Goodnight, sun!"); unsafe { print_c_string(HELLO_CSTR.as_ptr()); print_c_string(goodnight_cstr.as_ptr()); } }
Prints:
Hello, world!
Goodnight, sun!
Macros
const_cstr | Create a C-compatible constant string by appending a NUL byte to the passed string. |
Structs
ConstCStr | A reference to a C-compatible string constant. |