gpt4 book ai didi

random - 如何在 Swift 中读取/dev/random

转载 作者:搜寻专家 更新时间:2023-11-01 06:48:24 25 4
gpt4 key购买 nike

我找不到如何在 Swift 中打开文件的示例,特别是从/dev/random 读取真正随机数到数组中。谢谢

最佳答案

要回答有关读取文件的问题,您需要使用 NSFileManager。 Swift 没有自己的文件 API。另外,您不能简单地打开文件;您需要使用文件处理程序,因为 /dev/random 将永远保持输出。

这是一个例子:

let manager = NSFileManager.defaultManager()
let randomPath = "/dev/random"

if manager.fileExistsAtPath(randomPath) {
let handle = NSFileHandle(forReadingAtPath: randomPath)

if let validHandle = handle {
let desiredLength = 256

// Warning: Instead of returning NSData?, this method throws an exception if there's an error. Consider adding additional error handling.
let fileData = validHandle.readDataOfLength(desiredLength)
let fileString = NSString(data: fileData, encoding: NSASCIIStringEncoding)
if (fileString != nil) {
println(fileString!)
}
}
}

示例控制台输出:

¬Ñ@<4r-ÐÛÍäÓ-(*Âý3o÷-»e2 @äÂx<øWýsñniâõãQüÕ£ÆsûÄÏþDÊU²OÑ9H)úûÓWhAóûoκfßpÍC%M¤ò«ÿ@'-gVüü]®%åYÒ{»j>ä©æ¨Zì¿¿Bþxû,«1´£¾E¸Ju|`ëérßNeòWÙé-î#ê05¿ JF-Ëë«î=¤<5ë/p¨¾üæü5è«î%ãå.öŪ¿¯¨ôø+EeÅþUå5ì%ÿ¼pÕÊ:oÐ

也就是说,如果您的意图是在数组中加载随机数,您应该只使用 arc4random_uniform(),它将返回一个均匀分布的随机数:

var randomNumbers = [Int]()

for i in 1...10 {
randomNumbers.append(Int(arc4random_uniform(1000)))
}

println(randomNumbers)

示例输出:

[27, 796, 150, 439, 955, 678, 556, 816, 571, 130]

关于random - 如何在 Swift 中读取/dev/random,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26693649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com