Re[3]: #pragma pack(push,1) - как сделать в С#?
От: TK Лес кывт.рф
Дата: 05.12.08 08:24
Оценка:
Здравствуйте, Spirit_1, Вы писали:

S_>//... а в соответствующей процедуре так:

S_> byte[] buf = new byte[sizeof(RateInfo)];
S_> GCHandle handle = GCHandle.Alloc(buf, GCHandleType.Pinned);
S_> FileStream fs = new FileStream("infile");
S_> fs.Read(buf, 0, buf.Length); // ну или как то иначе заполняем
S_> RateInfo* ptr = (RateInfo*)handle.AddrOfPinnedObject().ToPointer();
S_>//дальше поля структуры доступны через операцию ->

Непонятен только смысл приседаний с GCHandle — намного проще сразу получить fixed указатель на первый элемент и уже потом закастить его к RateInfo*
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.