【问题标题】:How do I make a random file extension?如何制作随机文件扩展名?
【发布时间】:2015-04-07 00:42:00
【问题描述】:

我在 Xcode(mac 应用程序)中有一个基于文档的应用程序,我想知道你是否可以拥有它,所以当你保存它时它一次是 .xby,然后另一次是 .rgj 或其他东西。(随机生成) 可能吗?

回顾:我想在每次相同文件时生成一个随机文件扩展名。我觉得不可能。

【问题讨论】:

  • 您知道文件名只是一个字符串吗?如果你能弄清楚如何生成随机数,你就能弄清楚如何生成随机字符串。
  • @MarcB 实际上我想要扩展名(.docx 或 .mp4,而不是名称)
  • 是的,文件名的文件扩展名是一个字符串,就像文件名的其余部分一样...filename = basename + '.' + generate_random_extension()
  • 你为什么要这样做?

标签: objective-c cocoa


【解决方案1】:

marc 说了这么多,但这里是代码(无论如何,大部分都在 SO 上找到;))

//from http://stackoverflow.com/questions/2633801/generate-a-random-alphanumeric-string-in-cocoa
-(NSString *) randomStringWithLength: (int) len {
    static NSString *letters = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

    NSMutableString *randomString = [NSMutableString stringWithCapacity: len];

    for (int i=0; i<len; i++) {
        [randomString appendFormat: @"%C", [letters characterAtIndex: arc4random_uniform((u_int32_t)letters.length)]];
    }

    return randomString;
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    id basename = @"myFile";
    id extension = [self randomStringWithLength:3];
    id filename = [basename stringByAppendingPathExtension:extension];
    NSLog(@"%@", filename);
    return YES;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-02
    • 2019-05-14
    • 2012-07-16
    • 2017-04-20
    • 2010-11-10
    • 2012-07-08
    • 1970-01-01
    • 2014-01-10
    相关资源
    最近更新 更多