Опитвам се да конвертирам директно от двоичен файл в структура. Мога да го направя на c, но не знам как да го направя на vala. Поставям примерите за код на 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?