Парсинг бинарных файлов
От: tarasich  
Дата: 29.05.06 11:11
Оценка:
Помогите пожалуйста.

Есть бинарные файлы в которые пишется определенная структура.
Как прочитать из этих файлов сразу структуру целиком?
аналог с++

byte b[sizeof(MyStruct)];
CFile.Read(b,sizeof(MyStruct); 
MyStruct* pstr=(MyStruct*)&b[0];


Можно ли сделать такое и если да то как?
а то очень не хочется читать пре элементы структуры последовательно..
Re: Парсинг бинарных файлов
От: VladGalkin Украина  
Дата: 29.05.06 11:16
Оценка: 1 (1) +1 -1
Здравствуйте, tarasich, Вы писали:

T>Есть бинарные файлы в которые пишется определенная структура.

T>Как прочитать из этих файлов сразу структуру целиком?
T>аналог с++

Binary serialization?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
ДЭ!
Re[2]: Парсинг бинарных файлов
От: tarasich  
Дата: 29.05.06 11:24
Оценка:
Здравствуйте, VladGalkin, Вы писали:

VG>Здравствуйте, tarasich, Вы писали:


T>>Есть бинарные файлы в которые пишется определенная структура.

T>>Как прочитать из этих файлов сразу структуру целиком?
T>>аналог с++

VG>Binary serialization?


Спасибо, но это немного не то.
В файле хранятся не классы, а насколько я понял BinaryFormatter сохраняет еще дополнительную информацию.

Сама структура имеет премерно такой вид:

struct MyStruct
{
  long int lCount;
  char[20] cDesc;
  long int lCRC;
}
Re: Парсинг бинарных файлов
От: Indifferent Украина  
Дата: 29.05.06 11:36
Оценка:
Здравствуйте, tarasich, Вы писали:

T>Помогите пожалуйста.


T>Есть бинарные файлы в которые пишется определенная структура.

T>Как прочитать из этих файлов сразу структуру целиком?
T>аналог с++

T>
T>byte b[sizeof(MyStruct)];
T>CFile.Read(b,sizeof(MyStruct); 
T>MyStruct* pstr=(MyStruct*)&b[0];
T>


T>Можно ли сделать такое и если да то как?


Первый способ, уже назван, путем сериализации.
Второй, можно написать аналог приведенного кода. (используется Маршализация:
System.Runtime.InteropServices.Marshal class). Но это будет себе дороже.
... << RSDN@Home 1.2.0 alpha rev. 649>>
Re[2]: Парсинг бинарных файлов
От: tarasich  
Дата: 29.05.06 11:46
Оценка:
Здравствуйте, Indifferent, Вы писали:

I>Второй, можно написать аналог приведенного кода. (используется Маршализация:

I>System.Runtime.InteropServices.Marshal class). Но это будет себе дороже.

Если не секрет, почему?
Re[3]: Парсинг бинарных файлов
От: Indifferent Украина  
Дата: 29.05.06 12:00
Оценка:
Здравствуйте, tarasich, Вы писали:

T>Здравствуйте, Indifferent, Вы писали:


I>>Второй, можно написать аналог приведенного кода. (используется Маршализация:

I>>System.Runtime.InteropServices.Marshal class). Но это будет себе дороже.

T>Если не секрет, почему?

Решение через сериализацию мне представляется попроще, только поэтому.
... << RSDN@Home 1.2.0 alpha rev. 649>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.