Чтение бинарного файла с нужной позиции (C#)

457
31 декабря 2016, 13:24

Помогите, пожалуйста, разобраться, как в C# прочитать данные с нужной позиции? Есть код, написанный на С++ Builder с использованием WinAPI:

S = "D:/DELETE/s281216_1.dat";
fser = CreateFile(
    AnsiString(S).c_str(),
    GENERIC_READ,
    FILE_SHARE_READ|FILE_SHARE_WRITE,
    NULL,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,
    NULL);
if (fser != INVALID_HANDLE_VALUE)
{
    long int ss = sizeof(str_sm) + ((nrs.n.nr - 1) * (sizeof(ser)));
    SetFilePointer(fser, ss, NULL, FILE_BEGIN);
    ReadFile(fser, &sr, sizeof(ser), &lread, NULL);
    CloseHandle(fser);
    flag = true;
} 

Как прочитать данные так же (со смещением) в С#? Вот что есть у меня на C#:

using (BinaryReader readerSr = new BinaryReader(File.Open(S, FileMode.Open)))
{
    while (readerSr.PeekChar() > -1) // | reader2.PeekChar() > -1)
    {
        uint n = readerSr.ReadUInt16();
    }
}
Answer 1

Есть метод FileStream.Seek(Int64, SeekOrigin), можете его вызвать напрямую, или через BinaryReader.BaseStream.

READ ALSO
pjax переход по прямым ссылкам

pjax переход по прямым ссылкам

Есть сайт, на котором используется pjax (pushState + ajax)Страницы подгружаются через ajax и меняется адрес

420
Задать условие вывода оператора AND

Задать условие вывода оператора AND

Как в такой ситуации правильно сформировать условия, чтобы AND выводился тогда, когда ему положено? Отправляется форма из нескольких полей,...

404
PHP массив с русскими ключами

PHP массив с русскими ключами

Некий метод в системе возвращает массив с русскими ключами и строками в значения

380
Куки на машине пользователя

Куки на машине пользователя

Вопрос в следующем, допустим я делаю авторизацию пользователя на сайте и в случае успешной авторизации устанавливаю куки (setcookie('auth','yes',time()+3600);)данная...

371