2017-01-17 116 views
2

我需要在Julia中将一些数据记录为二进制文件。在CI使用下面的代码:在Julia中写入二进制文件

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

int main() 
{ 
FILE* out = fopen("test2.bin", "wb"); 
if(out==NULL) 
    return 1; 

putc(49,out); 
fclose(out); 
} 

,并得到了预期的结果(我期待在十六进制编辑器字符):

1 

后重写代码朱莉娅,我得到了如下代码:

out = open("test.bin","w") 
write(out,49) 
close(out) 

,但结果是:

1....... 

从文档我知道函数write返回的字节数(在我的情况下,它8,但应该是1)。我的问题: 1.我在做什么错了? 2.如何在Julia中写入二进制文件?

回答

4

你在正确的方式。原因是8它是Int的大小,所以你需要使用明确的类型转换Int到Char如果想写成Char:

write(out,Char(49))