Initializer

init(cString:)

Creates a new string by copying the null-terminated UTF-8 data referenced by the given pointer. 新しい文字列を、与えられたポインタによって参照されるヌル終端のUTF-8データをコピーすることによって作成します。

Declaration 宣言

init(cString: UnsafePointer<CChar>)

Parameters パラメータ

cString

A pointer to a null-terminated UTF-8 code sequence. ヌル終端のコードシーケンスへのポインタ。

Discussion 解説

If cString contains ill-formed UTF-8 code unit sequences, this initializer replaces them with the Unicode replacement character ("\u{FFFD}"). cStringが文法的に正しくないUTF-8コードユニットシーケンスを含むならば、それらをある代替文字("\u{FFFD}")で置き換えます。

The following example calls this initializer with pointers to the contents of two different CChar arrays—the first with well-formed UTF-8 code unit sequences and the second with an ill-formed sequence at the end. 以下の例は、このイニシャライザを2つの異なるCChar配列の内容へのポインタとともに呼び出します—最初のものは正しい形式のUTF-8コード単位シーケンスをもち、そして2番目のものはある誤形式シーケンスを末尾に保ちます。


let validUTF8: [CChar] = [67, 97, 102, -61, -87, 0]
validUTF8.withUnsafeBufferPointer { ptr in
    let s = String(cString: ptr.baseAddress!)
    print(s)
}
// Prints "Café"


let invalidUTF8: [CChar] = [67, 97, 102, -61, 0]
invalidUTF8.withUnsafeBufferPointer { ptr in
    let s = String(cString: ptr.baseAddress!)
    print(s)
}
// Prints "Caf�"

Relationships 関係

From Protocol 由来プロトコル

See Also 参照

Converting a C String C文字列を変換する