我有一个包含相同记录的大型二进制文件
# Julia code
struct Event
ia::Int32
ig::Int32
Eg::Float64
Tg::Float64
xn::Float64
yn::Float64
zn::Float64
# uninitialized constructor
Event() = new()
end
如何在Julia中翻译此C ++代码?
// C++ code
struct Event
{
int32_t ia;
int32_t ig;
double Eg;
double Tg;
double xn;
double yn;
double zn;
};
// ... compute event_count
std::ifstream in(filename,std::ifstream::binary);
std::vector<Event> array(event_count);
in.read((char*)array.data(), event_count*sizeof(Event)); // <- Julia way: how to?
答案 0 :(得分:1)
您可以使用read(filename, Event, n)
,其中n
是您想要阅读的元素数量(目标向量的大小)。实际上n
可以是例如给出输出数组维度的元组。
您可以查看read
功能的帮助以获取其他选项。