2017-01-17 114 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))