我怎样才能从Swift 2.1中的UnsafeMutablePointer <file>中读取

时间:2015-10-29 05:12:26

标签: swift

我想读取UnsafeMutablePointer<FILE>的值。 最简单的方法是什么?是否可以将其转换为String?

由于

1 个答案:

答案 0 :(得分:1)

可以直接从Swift中使用C API。编写这样的函数可以从FILE指针读取文件内容。

  func stringFromFILE(filePtr: UnsafeMutablePointer<FILE>) -> String {
    guard filePtr != nil else {
      return ""
    }
    // change the buffer size at your needs
    let buffer = [CChar](count: 1024, repeatedValue: 0)
    var string = String()
    while fgets(UnsafeMutablePointer(buffer), Int32(buffer.count), filePtr) != nil {
      if let read = String.fromCString(buffer) {
        string += read
      }
    }
    return string
  }