#cstr #cstring #no-std #string #c

no-std cstr_core

Implementation of CStr and CString for no_std environments

8 releases

0.2.4 Jul 15, 2021
0.2.3 Feb 19, 2021
0.2.2 Aug 23, 2020
0.2.0 Apr 12, 2020
0.1.0 Oct 12, 2017

#23 in No standard library

Download history 601/week @ 2021-04-09 523/week @ 2021-04-16 1038/week @ 2021-04-23 817/week @ 2021-04-30 2513/week @ 2021-05-07 8670/week @ 2021-05-14 7084/week @ 2021-05-21 9328/week @ 2021-05-28 8936/week @ 2021-06-04 10948/week @ 2021-06-11 8128/week @ 2021-06-18 9331/week @ 2021-06-25 8854/week @ 2021-07-02 11611/week @ 2021-07-09 10164/week @ 2021-07-16 7349/week @ 2021-07-23

28,778 downloads per month
Used in 37 crates (25 directly)


679 lines


Build Status Crates.io

This crate provides implementations of CStr and CString which do not depend on the standard library and are suitable for no_std environments.

CString support is only available if the alloc feature is enabled, which requires the alloc crate. CStr is always available.

Some hardware targets (e.g. thumbv6m-none-eabi for Cortex M0,M0+) have no support for atomic operations. For these platforms, disable the arc feature to omit the parts of the crate that depend on atomic operations. Compatibility with thead-safe code and Arc<T> will not be available.

In addition, the nightly feature allows the usage of CStr::from_bytes_with_nul_unchecked to be used in a const context. However, it requires a nightly version of the compiler.




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.