2

開く前にファイルが存在しない場合に、書き込み専用でファイルを開く方法はありますか?

ある時点でいくつかのファイルを作成する必要があるスレッド化された作業を行っています。ランダムなファイル名が役立つかもしれませんが、衝突がないことを確認したい

前もって感謝します

4

2 に答える 2

0

あなたが達成しようとしていることはよくわかりませんが、次のようにしてファイルの存在を確認できます:-

NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

NSString *yourFile = [docPath stringByAppendingPathComponent:@"yourFilewithExtension"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:yourFile];

「fileExists」は、ファイルが存在する場合は yes を返し、そうでない場合は no を返します。

于 2012-05-24T10:32:08.883 に答える
0

モード文字列に「x」を追加します

最後に、標準への拡張として (したがって、移植性がない可能性があります)、モード文字列は文字x'', which insists on creating a new file when used withw'' または ``a'' で終わる場合があります。path が存在する場合、エラーが返されます (これは、open(2) で O_EXCL を指定するのと同じです)。

http://developer.apple.com/library/Mac/#documentation/Darwin/Reference/ManPages/man3/fopen.3.html

于 2012-11-21T09:03:41.683 に答える