Точная структура структуры не важна.
Из того, что я понял, следующий код c читает «кусок» двоичных данных (равный размеру структуры) и напрямую записывает его вструктура (т.е. первые 32 байта для имени, следующие 2 байта для атрибута и т. д.).Есть ли какой-либо эквивалент в коде, управляемом C #?
Пожалуйста, предоставьте фрагмент кода, показывающий аналогичный результат.Чтобы сэкономить время, вы можете упростить до нескольких элементов и предположить, что соответствующий объект типа файлового потока уже инициализирован.
Примечание.это важно.Я не могу, например, просто использовать сериализацию / десеризацию .net, потому что я буду обрабатывать существующие существующие файлы (изменение формата невозможно).
typedef struct _PDB
{
char name[32];
unsigned short attrib;
unsigned short version;
unsigned int created;
unsigned int modified;
unsigned int backup;
unsigned int modNum;
unsigned int nextRecordListID;
unsigned short numRecs;
} PDB;
void getFileType(FILE *in)
{
PDB p;
fseek(in, 0, SEEK_SET);
fread(&p, sizeof(p), 1, in);
. . .
}