生成0-x之间的随机正整数 int value =arc4random_uniform(x + 1); 生成随机正整数 int value = arc4random(); 通过arc4random() 获取0到x-1之间的整数的代码如下: int value = arc4random() % x; 获取1到x之间的整数的代码如下: int value = (arc4random() % x) + 1; 最后如果想生成一个浮点数,可以在项目中定义如下宏: #define ARC4RANDOM_MAX 0x100000000 然后就可以使用arc4random() 来获取0到100之间浮点数了(精度是rand()的两倍),代码如下: double val = floorf(((double)arc4random() / ARC4RANDOM_MAX) * 100.0f);
最后来一段生成任意长度的随机字符串方法:
// 生成字符串长度
#define kRandomLength 10
// 随机字符表
static const NSString *kRandomAlphabet = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSMutableString *randomString = [NSMutableString stringWithCapacity:kRandomLength];
for (int i = 0; i < kRandomLength; i++) {
[randomString appendFormat: @"%C", [kRandomAlphabet characterAtIndex:arc4random_uniform((u_int32_t)[kRandomAlphabet length])]];
}
NSLog(@"randomString = %@", randomString);
}
return 0;
}
已有849位网友发表了看法:
发表评论