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

getFileSystemRepresentation(_:maxLength:)

Interprets the receiver as a system-independent path and fills a buffer with a C-string in a format and encoding suitable for use with file-system calls. レシーバをシステム独立のパスとして解釈して、ファイルシステム呼び出しで使うのに適したある書式設定と符号化でのC文字列でバッファを満たします。

Declaration 宣言

func getFileSystemRepresentation(_ cname: UnsafeMutablePointer<CChar>, 
                       maxLength max: Int) -> Bool

Parameters パラメータ

buffer

Upon return, contains a C-string that represent the receiver as as a system-independent path, plus the NULL termination byte. The size of buffer must be large enough to contain maxLength bytes. 戻りでは、C文字列を含みます、それはレシーバをシステム独立のパス、加えてNULL終端バイトで表します。bufferの大きさは、maxLengthバイトを含むのに十分な大きさでなければなりません。

maxLength

The maximum number of bytes in the string to return in buffer (including a terminating NULL character, which this method adds). bufferにおいて返す文字列における最大限のバイト数(終端NULL文字を含めて、それはこのメソッドが追加するものです)。

Return Value 戻り値

true if buffer is successfully filled with a file-system representation, otherwise false (for example, if maxLength would be exceeded or if the receiver can’t be represented in the file system’s encoding). true、もしbufferがうまくファイルシステム表現で満たされるならば、そうでなければfalse(例えば、maxLengthが超過されるならば、またはレシーバがファイルシステムの持つ符号化で表現できないならば)。

Discussion 議論

This method operates by replacing the abstract path and extension separator characters (‘/’ and ‘.’ respectively) with their equivalents for the operating system. If the system-specific path or extension separator appears in the abstract representation, the characters it is converted to depend on the system (unless they’re identical to the abstract separators). このメソッドは、抽象的なパスおよび拡張子の分離子の文字それらを(それぞれ ‘/’ および ‘.’ )オペレーティングシステムのためのそれらの等価物と置き換えることによって演算します。システム特有のパスまたは拡張子の分離子が抽象表現に現れるならば、それら文字はシステムに依存して変換されます(それらが抽象的な分離子と同一である場合を除いて)。

Note that this method only works with file paths (not, for example, string representations of URLs). このメソッドはファイルパスでのみ働くことに注意してください(例えば、URLの文字列表現ではなく)。

The following example illustrates the use of the maxLength argument. The first method invocation returns failure as the file representation of the string (@"/mach_kernel") is 12 bytes long and the value passed as the maxLength argument (12) does not allow for the addition of a NULL termination byte. 以下の例は、maxLength引数の使用を解説します。最初のメソッド発動は、文字列(@"/mach_kernel")のファイル表現が12バイトの長さであるそしてmaxLength引数として渡される値(12)はNULL終端バイトの追加を想定しないとして、失敗を返します。


char filenameBuffer[13];
BOOL success;
success = [@"/mach_kernel" getFileSystemRepresentation:filenameBuffer maxLength:12];
// success == NO
// Changing the length to include the NULL character does work
success = [@"/mach_kernel" getFileSystemRepresentation:filenameBuffer maxLength:13];
// success == YES

See Also 参照

Working with Paths パスを扱う