Struct std::ffi::OsString
[−]
[src]
pub struct OsString {
// some fields omitted
}Owned, mutable OS strings.
Methods
impl OsString
fn new() -> OsString
Constructs a new empty OsString.
fn from_bytes<B>(bytes: B) -> Option<OsString> where B: Into<Vec<u8>>
: RFC was closed, hides subtle Windows semantics
Constructs an OsString from a byte sequence.
Platform behavior
On Unix systems, any byte sequence can be successfully
converted into an OsString.
On Windows system, only UTF-8 byte sequences will successfully
convert; non UTF-8 data will produce None.
fn as_os_str(&self) -> &OsStr
Converts to an OsStr slice.
fn into_string(self) -> Result<String, OsString>
Converts the OsString into a String if it contains valid Unicode data.
On failure, ownership of the original OsString is returned.
fn push<T: AsRef<OsStr>>(&mut self, s: T)
Extends the string with the given &OsStr slice.
Methods from Deref<Target=OsStr>
fn to_str(&self) -> Option<&str>
Yields a &str slice if the OsStr is valid unicode.
This conversion may entail doing a check for UTF-8 validity.
fn to_string_lossy(&self) -> Cow<str>
Converts an OsStr to a Cow<str>.
Any non-Unicode sequences are replaced with U+FFFD REPLACEMENT CHARACTER.
fn to_os_string(&self) -> OsString
Copies the slice into an owned OsString.
fn to_bytes(&self) -> Option<&[u8]>
: RFC was closed, hides subtle Windows semantics
Yields this OsStr as a byte slice.
Platform behavior
On Unix systems, this is a no-op.
On Windows systems, this returns None unless the OsStr is
valid unicode, in which case it produces UTF-8-encoded
data. This may entail checking validity.
fn to_cstring(&self) -> Option<CString>
: RFC was closed, hides subtle Windows semantics
Creates a CString containing this OsStr data.
Fails if the OsStr contains interior nulls.
This is a convenience for creating a CString from
self.to_bytes(), and inherits the platform behavior of the
to_bytes method.