【问题标题】:Generate string of random characters cocoa?生成一串随机字符可可?
【发布时间】:2011-09-26 11:06:52
【问题描述】:

我知道如何生成随机数,但我真正需要的是一串随机字符。这是我目前所拥有的:

NSString *letters = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789?%$";

    char generated;
    generated = //how do i define this?

    NSLog(@"generated =%c", generated);
    [textField setStringValue:generated];

【问题讨论】:

  • 请注意,char generated; 声明了一个包含 one 字符的变量,而不是字符数组。此外,setStringValue: 采用指向 NSString 对象的指针,而不是 C 字符串。
  • 您要生成任意随机字符的字符串,包括不可打印的字符,还是只生成letters 字符串中的字符?
  • 只有字母字符串中的字符
  • 哦,我明白了,因为 char 数据类型只包含一个字符。是的,所以我让它与 NSMutableString 一起工作。感谢您的提示。你推荐的书也很棒!

标签: string cocoa nsstring character


【解决方案1】:
-(NSString*)generateRandomString:(int)num {
    NSMutableString* string = [NSMutableString stringWithCapacity:num];
    for (int i = 0; i < num; i++) {
        [string appendFormat:@"%C", (unichar)('a' + arc4random_uniform(25))];
    }
    return string;
}

然后这样称呼它为 5 个字母的字符串:

NSString* string = [self generateRandomString:5];

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-01
      • 2011-06-30
      • 2012-11-21
      • 2010-10-18
      相关资源
      最近更新 更多