我需要在Julia中将一些数据记录到二进制文件中。在C上我使用下一个代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE* out = fopen( "test2.bin", "wb" );
if( out==NULL )
return 1;
putc(49,out);
fclose(out);
}
并得到了预期的结果(我在十六进制编辑器中看作是char):
1
将代码重写为Julia之后,我得到了以下代码:
out = open("test.bin","w")
write(out,49)
close(out)
但结果是:
1.......
从文档我知道函数write
返回字节数(在我的例子中它是8但应该是1)。
所以我的问题: 1.我做错了什么? 2.如何正确写入Julia中的二进制文件?
答案 0 :(得分:3)
你正确的方式。原因是8它是Int的大小,所以如果想写为Char,你需要使用显式类型转换Int to Char:
write(out,Char(49))