Что не так? Мне надо сходить в другое место файла, считать оттуда данные, вернуться и продолжить чтение. По сути не работает следующий упрощенный вариант.
FILE* fSrc = _wfopen(src, _T("r"));
long pos = ftell(fSrc);
char ch;
fread(&ch, sizeof(char), 1, fSrc);
fseek(fSrc, pos, SEEK_SET);
fread(&ch, sizeof(char), 1, fSrc);
По-моему, ch должны быть одинаковыми, но они разные. Сложилось впечатление, что второе чтение происходит на 5 байт позднее того места, где я ожидал (где сохранил позицию).
Пробовал комбинацию fgetpos(&pos), fseek(куда надо), fsetpos(&pos) — то же самое.
...Причем в большинстве случаев здесь все работало. А с одним файлом вышла ошибка — стал локализовывать и пришел к этому месту.