Я пытаюсь преобразовать непосредственно из двоичного файла в структуру. На c могу сделать, а на валу не знаю как. Я помещаю примеры кода C и Vala ниже.
struct Header
{
char name[30]; // PK2 internal name
uint32_t version; // version
uint8_t encryption; // does have encryption?
uint8_t verify[16]; // used to test the blowfish key
uint8_t reserved[205]; // unused
};
read_count = fread(&m_header, 1, sizeof(Header), m_file);
if(read_count != sizeof(Header))
{
fclose(m_file);
}
Я пытаюсь сделать то же самое с валой. Но я никогда этого не делал.
struct Header
{
char Header[30]; //JoyMax File Manager!
uint Version; //0x02000001
uint8 Encrypted;
uint8 Verify[16]; // Used to test the blowfish key
uint8 reserved[205]; // Unused
}
void main()
{
var file = FileStream.open ("file.bin","r+");
char name[30] = {0};
file.gets (name);
print((string)name);
}
Есть ли способ конвертировать из файла в структуру напрямую, как fread?