美文网首页
如何在iOS/macOS系统中创建文件时创建唯一的文件名

如何在iOS/macOS系统中创建文件时创建唯一的文件名

作者: iOS鑫 | 来源:发表于2020-12-03 13:41 被阅读0次

    前言

    当我无数次看到大家写代码的时候总是以一个时间戳+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

    主要的是要明白下面这两个函数

    strdup()用于c语言中常用的一种字符串拷贝

    mkstemp()函数在系统中以唯一的文件名创建一个文件并打开

    收录:原文地址

    相关文章

      网友评论

          本文标题:如何在iOS/macOS系统中创建文件时创建唯一的文件名

          本文链接:https://www.haomeiwen.com/subject/dcoywktx.html