21 releases
0.2.12 | Mar 23, 2024 |
---|---|
0.2.11 | Sep 24, 2022 |
0.2.10 | Feb 25, 2022 |
0.2.9 | Sep 24, 2021 |
0.1.3 | Feb 14, 2018 |
#12 in #c-string
49,076 downloads per month
Used in 65 crates
(36 directly)
13KB
243 lines
cstr
This crate has been deprecated.
Rust 1.77.0 stabilized C-string literals.
From that version, c"abc"
can be used in place of cstr!("abc")
provided by this crate.
This new feature gives more concise code and faster compilation.
Hence, this crate will no longer be maintained.
A macro for getting &'static CStr
from literal or identifier.
This macro checks whether the given literal is valid for CStr
at compile time, and returns a static reference of CStr
.
This macro can be used to initialize constants.
Example
use cstr::cstr;
use std::ffi::CStr;
let test = cstr!(b"hello\xff");
assert_eq!(test, CStr::from_bytes_with_nul(b"hello\xff\0").unwrap());
let test = cstr!("hello");
assert_eq!(test, CStr::from_bytes_with_nul(b"hello\0").unwrap());
let test = cstr!(hello);
assert_eq!(test, CStr::from_bytes_with_nul(b"hello\0").unwrap());
Dependencies
~77KB