Seekp не ищет нужное место?

У меня есть следующий код:

  file.open(fileName, ios::in | ios::out | ios::binary);
   // many lines later
  file.seekp(fooAddr, ios::beg);
  printf("foo_addr: %d\n", foo_addr);
  file.write((char*)fooStruct, sizeof(FooStruct));

Я знаю, что fooAddr равно 128 из-за printf. Тем не менее, по какой-то причине, когда я открываю целевой файл в своем шестнадцатеричном редакторе, первый байт записывается по адресу 80.

enter image description here

Это возможно? Или есть какая-то ошибка, которую я пропускаю в своей программе?

Я думаю, для контекста, все мои операции с файлами завернуты в макрос, который проверяет, не равен ли file.goodbit 0 (правда), и если да, то программа сразу же завершает работу после вывода ошибки.

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
3
0
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш шестнадцатеричный редактор отображает смещения файлов в шестнадцатеричном формате, а не в десятичном.

Десятичное число 128 — это шестнадцатеричное число 0x80.

Другие вопросы по теме

Std::fstream / std::filesystem создать файл с повторяющимся номером
C++ std::fstream как перейти к определенной строке и столбцу файла
Я получаю сообщение об ошибке, что переменная count не инициализируется. Но он должен инициализироваться после чтения и проверки данных из файла. С++
С++ std::fstream. Как прочитать число в начале строки (плавающее или целое), а затем перейти к следующему? Использование именованных переменных, поэтому нет цикла
Почему ifstream читает дальше eof? (даже если ни один файл не открыт) как остановить чтение на eof?
Почему при удалении пустого пространства при записи в файл файлы не читаются?
Проблема с чтением файла и использованием массивов для правильного хранения и проверки содержимого
Программа чтения файлов С++ неправильно увеличивает переменную в цикле
Std::ofstream - строка буферизации не длиннее 1023 (мгновенный сброс)
Проблема с повторным использованием дескриптора файла std::fstream