2017-01-17 2 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. Как правильно писать в двоичный файл в Джулии?

ответ

4

Вы на правильном пути. Причина в том, что 8 - это размер Int, поэтому вам нужно использовать явное преобразование типа Int в Char, если хотите написать как Char:

write(out,Char(49)) 
Смежные вопросы