我知道import CoreFoundation
提供了像vscanf()这样的C函数。所以我可以使用 withUnsafePointer(&n){vscanf("%d",getVaList([COpaquePointer($0)]))}
。
但是,在开源版本中,根据 stdlib/public/core/VarArgs.swift,我看到 #if _runtime(_ObjC)
,这意味着 getVaList() 仅在 OSX 版本上可用。
您能告诉我使用 vscanf/scanf 等的替代方法吗?
注意:我知道 NSString(data:stdIn.availableData。encoding:NSUTF8StringEncoding)
和 NSScanner 组合,但我不愿意使用 availableData
(又名。readAll)东西。这些替代方法也受到欢迎。
最佳答案
最后我至少能够修改 VarArgs.swift 以在 Linux 上实现 withVaList() (请检查代码部分)。 http://qiita.com/cielavenir/items/2598d47b97a7c9caf970
关于swift - 从 Swift 开源版本访问 vscanf 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34149529/