Instance Method インスタンスメソッド

getCString(_:maxLength:encoding:)

Converts the string to a given encoding and stores it in a buffer. 文字列をある与えられた符号化に変換してそれをバッファの中に格納します。

Declaration 宣言

func getCString(_ buffer: UnsafeMutablePointer<CChar>, 
      maxLength maxBufferCount: Int, 
       encoding: UInt) -> Bool

Parameters パラメータ

buffer

Upon return, contains the converted C-string plus the NULL termination byte. The buffer must include room for maxBufferCount bytes. 戻りでは、変換されたC文字列に加えてNULL終端バイトを含みます。バッファは、maxBufferCountに対する場所を含まなければなりません。

maxBufferCount

The maximum number of bytes in the string to return in buffer (including the NULL termination byte). バッファにおいて返される文字列の中のバイトの最大数(NULL終端バイトを含みます)。

encoding

The encoding for the returned C string. For possible values, see NSStringEncoding. 返されるC文字列に対する符号化。可能な値として、NSStringEncodingを見てください。

Return Value 戻り値

true if the operation was successful, otherwise false. Returns false if conversion is not possible due to encoding errors or if buffer is too small. 操作が成功したならばtrue、そうでないならばfalsefalseを返します、もし変換が符号化エラーによって可能でないならば、またはもしbufferが小さすぎるならば。

Discussion 議論

Note that in the treatment of the maxBufferCount argument, this method differs from the deprecated getCString(_:maxLength:) method which it replaces. (The buffer should include room for maxBufferCount bytes; this number should accommodate the expected size of the return value plus the NULL termination byte, which this method adds.) maxBufferCount引数の取り扱いにおいて、このメソッドは非推奨のgetCString(_:maxLength:)メソッド、それはそれを置き換えます、とは異なることに注意してください。(バッファはmaxBufferCountバイトの余地を含むべきです;このメソッドは予想される戻り値の大きさに加えてNULL終端バイト、それはメソッドが加えます、を収容できるべきです。)

You can use canBeConverted(to:) to check whether a string can be losslessly converted to encoding. If it can’t, you can use data(using:allowLossyConversion:) to get a C-string representation using encoding, allowing some loss of information (note that the data returned by data(using:allowLossyConversion:) is not a strict C-string since it does not have a NULL terminator). あなたは、canBeConverted(to:)を使って、ある文字列が無損失でencodingへと変換可能かどうか確認できます。それが不可能ならば、あなたはdata(using:allowLossyConversion:)を使用して、C文字列表現をencodingを使って取得できます、何らかの情報の損失を許容して(注意すべきはdata(using:allowLossyConversion:)によって返されるデータはstrict C文字列でないことです、それがNULL終端子を持たないことから)。

See Also 参照

Getting C Strings C文字列を扱う

Related Documentation 関連文書