本文簡要介紹rust語言中 std::ffi::CString.from_vec_with_nul
的用法。
用法
pub fn from_vec_with_nul(v: Vec<u8>) -> Result<Self, FromVecWithNulError>
存在運行時檢查以確保 Vec
(其最後一個元素)中隻有一個 nul 字節。
錯誤
如果存在 nul 字節而不是最後一個元素或不存在 nul 字節,將返回錯誤。
例子
在沒有結束 nul 字節的情況下調用成功的轉換將產生與 CString::new
相同的結果。
use std::ffi::CString;
assert_eq!(
CString::from_vec_with_nul(b"abc\0".to_vec())
.expect("CString::from_vec_with_nul failed"),
CString::new(b"abc".to_vec()).expect("CString::new failed")
);
格式不正確的 Vec
將產生錯誤。
use std::ffi::{CString, FromVecWithNulError};
// Interior nul byte
let _: FromVecWithNulError = CString::from_vec_with_nul(b"a\0bc".to_vec()).unwrap_err();
// No nul byte
let _: FromVecWithNulError = CString::from_vec_with_nul(b"abc".to_vec()).unwrap_err();
相關用法
- Rust CString.from_vec_with_nul_unchecked用法及代碼示例
- Rust CString.from_vec_unchecked用法及代碼示例
- Rust CString.from_raw用法及代碼示例
- Rust CString.into_bytes用法及代碼示例
- Rust CString.into_boxed_c_str用法及代碼示例
- Rust CString.into_raw用法及代碼示例
- Rust CString.as_c_str用法及代碼示例
- Rust CString.as_bytes用法及代碼示例
- Rust CString.into_bytes_with_nul用法及代碼示例
- Rust CString.as_bytes_with_nul用法及代碼示例
- Rust CString.new用法及代碼示例
- Rust CString.into_string用法及代碼示例
- Rust CString用法及代碼示例
- Rust CStr.into_c_string用法及代碼示例
- Rust CStr.from_bytes_with_nul用法及代碼示例
- Rust CStr.from_bytes_with_nul_unchecked用法及代碼示例
- Rust CStr用法及代碼示例
- Rust CStr.from_ptr用法及代碼示例
- Rust CStr.to_bytes用法及代碼示例
- Rust CStr.as_ptr用法及代碼示例
- Rust CStr.to_str用法及代碼示例
- Rust CStr.to_string_lossy用法及代碼示例
- Rust CStr.to_bytes_with_nul用法及代碼示例
- Rust Cursor.new用法及代碼示例
- Rust Condvar.notify_all用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::ffi::CString.from_vec_with_nul。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。