CStr::from_bytes_until_nul
创建了它。不过,我的最终目标是拥有 String
,而不是 CString
。我正在尝试将我的 CString
存储到需要 String
的结构中。有没有从 CString 转换为 String 的方法?
一个 CString 被拥有并且似乎是,
\0
\0
A
String
也拥有。看来,
为什么没有从 CString 到 String 的
.try_into()
来拉出终端 \0
并包裹 str::from_utf8(mycstring)
?
您可以使用
CString
将 String
转换为
to_str()
,成功时会为您提供 &str
,然后可以通过调用 String
将其转换为 to_string()
。
这是一个简短的示例:
let cstring = CString::new("A string.").unwrap();
let string = cstring.to_str().unwrap().to_string();
以及 Rust Explorer 的链接。