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

getCString:maxLength:encoding:

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

Declaration 宣言

- (BOOL)getCString:(char *)buffer 
         maxLength:(NSUInteger)maxBufferCount 
          encoding:(NSStringEncoding)encoding;

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 戻り値

YES if the operation was successful, otherwise NO. Returns NO if conversion is not possible due to encoding errors or if buffer is too small. 操作が成功したならばYES、そうでないならばNONOを返します、もし変換が符号化エラーによって可能でないならば、またはもし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 canBeConvertedToEncoding: to check whether a string can be losslessly converted to encoding. If it can’t, you can use dataUsingEncoding:allowLossyConversion: to get a C-string representation using encoding, allowing some loss of information (note that the data returned by dataUsingEncoding:allowLossyConversion: is not a strict C-string since it does not have a NULL terminator). あなたは、canBeConvertedToEncoding:を使って、ある文字列が無損失でencodingへと変換可能かどうか確認できます。それが不可能ならば、あなたはdataUsingEncoding:allowLossyConversion:を使用して、C文字列表現をencodingを使って取得できます、何らかの情報の損失を許容して(注意すべきはdataUsingEncoding:allowLossyConversion:によって返されるデータはstrict C文字列でないことです、それがNULL終端子を持たないことから)。

See Also 参照

Getting C Strings C文字列を扱う

Related Documentation 関連文書