首页 > 解决方案 > 如何从 rust 中的字符串创建 CString?

问题描述

如何在 Rust 中std::ffi::CString从 a创建 a?String

假设String已经存储在一个可以在必要时移动的变量中,而不是像许多构造 a 的示例中那样的文字CString

我研究了两者的文档CStringhttps ://doc.rust-lang.org/std/ffi/struct.CString.html

Stringhttps ://doc.rust-lang.org/std/string/struct.String.html

我仍然看不到路径。您必须通过许多指针类型中的一种;Into并且From没有为这些类型实现,所以.into()不起作用。

标签: stringrust

解决方案


String已经实现Into<Vec<u8>>

use std::ffi::CString;


fn main() {
    let ss = "Hello world".to_string();
    let s = CString::new(ss).unwrap();
    println!("{:?}", s);
}

操场


推荐阅读