在Swift中创建一个带字节级控制的缓冲区/文件

时间:2016-11-29 22:38:27

标签: c swift swift3

对于写入和读取数十亿字节的数据,我希望在字节级别进行控制。 遗憾的是,我发现使用可用的文档和资源来理解原始字节访问非常困难。

我想要运行的是与以下C代码相当的Swift 3

#include <stdlib.h>
#include <stdio.h>

int main() {
    int N=300;
    size_t bufsz = N*sizeof(uint8_t) + N*sizeof(double);
    uint8_t *buffer = malloc(bufsz);

    size_t ofs=0;
    while (ofs<bufsz) {
        *(buffer+ofs) = 'A';
        ofs += sizeof(uint8_t);
        *((double*)(buffer+ofs)) = 6.0138242189890428e-154;
        ofs += sizeof(double);
    }

    FILE *file = fopen("foo.bin", "w");
    fwrite(buffer, bufsz, sizeof(uint8_t), file);
    fclose(file);
}

这如何转化为Swift?

0 个答案:

没有答案