前言
当我无数次看到大家写代码的时候总是以一个时间戳+arc4random()
创建某文件的时候 深感心碎,难道操作系统就没有提供相关的函数么 于是 我找到了如下代码 解决大家因为创建文件重名问题.
/* Create a recording file */
NSString *filePath = [@"~/Movies/AVScreenShackRecording_XXXXXX" stringByStandardizingPath];
char *screenRecordingFileName = strdup([filePath fileSystemRepresentation]);
if (screenRecordingFileName)
{
int fileDescriptor = mkstemp(screenRecordingFileName);
if (fileDescriptor != -1)
{
NSString *filenameStr = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:screenRecordingFileName length:strlen(screenRecordingFileName)];
NSLog(@"唯一的文件名:%@",filenameStr);
}
remove(screenRecordingFileName);
free(screenRecordingFileName);
}
使用前
image
过程中
image
完成之后
image
切记文件后缀需要 加上 XXXXXX
几个X
就代表几位数字+字母
混合 注意:最好是6个X或者6个以上 参考Linux
主要的是要明白下面这两个函数
mkstemp()函数在系统中以唯一的文件名创建一个文件并打开
收录:原文地址
网友评论