A procedural macro for making literal C strings.
I was tired of typing the following:
rust
let s = CString::new("Hello, world!").unwrap();
Ideally, I would be able to do something similar to the syntax of a byte string c"Hello, world!"
but that requires a language change.
I decided to create a macro that is close enough.
rust
let s = c!("Hello, world!");
Currently requires a nightly build of rust. Use rustc 1.31.0-nightly (4efdc04a5 2018-10-06)
or newer.
toml
[dependencies]
literal_cstr = "0.1"
```rust
extern crate literal_cstr;
use literal_cstr::c; ```
Procedural macros are stable, but #![feature(proc_macro_hygiene)]
is required in order to use the macro with a literal string expression.
rust
let s = c!("Hello, world!");
Check out /examples/show.rs for a full example.
bash
$ cargo test
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.