gpt4 book ai didi

string - 如何在POSIX系统上将OsString转换为u16?

转载 作者:行者123 更新时间:2023-12-03 11:45:16 31 4
gpt4 key购买 nike

我正在通过std::env::var_os从环境中获取一个字符串,并且我想尝试将通过匹配返回的OsString接收到的结果Option<OsString>转换为u16。我如何才能以一种在POSIX系统上工作的方式来做到这一点?

最佳答案

如果您想将Option<OsString>转换为Option<u16>,则可以使用以下功能:

use std::ffi::OsString;

fn to_integer(maybe_os_string: Option<OsString>) -> Option<u16> {
if let Some(os_string) = maybe_os_string {
if let Ok(string) = os_string.into_string() {
if let Ok(integer) = string.parse::<u16>() {
return Some(integer);
}
}
}
None
}
playground
无论底层操作系统如何,它都应该工作。如果无法将 None解析为 OsString,则函数的调用者将不得不处理 u16的情况。

关于string - 如何在POSIX系统上将OsString转换为u16?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62520803/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com