当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust CString.new用法及代码示例


本文简要介绍rust语言中 std::ffi::CString.new 的用法。

用法

pub fn new<T: Into<Vec<u8>>>(t: T) -> Result<CString, NulError>

从字节容器创建一个新的 C-compatible 字符串。

此函数将使用提供的数据并使用底层字节构造一个新字符串,确保有一个尾随 0 字节。此函数将附加此尾随 0 字节;提供的数据中不应包含任何 0 字节。

例子

use std::ffi::CString;
use std::os::raw::c_char;

extern "C" { fn puts(s: *const c_char); }

let to_print = CString::new("Hello!").expect("CString::new failed");
unsafe {
    puts(to_print.as_ptr());
}

错误

如果提供的字节包含内部 0 字节,此函数将返回错误。返回的 NulError 将包含字节以及 nul 字节的位置。

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::ffi::CString.new。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。