Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
#1

Перемещение по бинарному файлу - C++

04.05.2012, 22:06. Просмотров 531. Ответов 3
Метки нет (Все метки)

Перемещаться можно по файлу использую функции seekg() для чтения и seekp() для записи... В общем для того, чтобы перемещаться по файлу и считать структуру нам необходимо необходимо знать размер структуры. Когда структура объявлена таким образом
C++
1
2
3
4
5
6
struct SomeStruct
{
     int x;
     int y;
     char str[10];
};
все понятно.
А если структура объявлена вот так
C++
1
2
3
4
5
6
struct SomeStruct
{
     int x;
     int y;
     char *p;
};
Мы уже никак не узнаем размер структуры. Потому как указатель может содержать в себе любую информацию, любого объема. Получается, что во втором случае перемещаться по файлу нельзя будет?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2012, 22:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перемещение по бинарному файлу (C++):

Применить XOR к бинарному файлу - C++
Добрый день, прошу помочь. Имеется некий массив бинарных данных, точнее файл - который надо побайтово конвертировать и записать в...

Перемещение по текстовому файлу. - C++
Задача стоит такая: Есть текстовый файл, где разные части текста отделены каким-либо спецсимволом (можно нумерованным, или не...

Перемещение по файлу клавишами - C++
Здравствуйте. Писал программу, позволяющую просматривать текстовый файл. main() { char f_name; ...

Перемещение указателя FILE* по файлу - C++
Здравствуйте. какой есть способ перемещать указатель по файлу по байтово вместо fgetc()? те у меня есть указатель на начало...

Ошибка в бинарному поиску - C++
Много было тем про бинарный поиск.Я их посмотрел.Где ошибка в моем коде #include<iostream> #include<stdio.h> using namespace std; ...

Подключение к бинарному дереву списка - C++
Вот есть такой вот код. Не могу подключить к моему узлу бинарного дерева односвязный список Кто-то может помочь? //...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
04.05.2012, 22:24 #2
Вообще в таких случаях заводят переменную указывающую размер динамических данных.
zss
Модератор
Эксперт С++
6359 / 5923 / 1920
Регистрация: 18.12.2011
Сообщений: 15,227
Завершенные тесты: 1
04.05.2012, 22:27 #3
Добавьте в структуру
int n;
и храните в n размер массива p.
Тогда размер записи будет равен
размеру структуры плюс n*sizeof(char)
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
04.05.2012, 22:43  [ТС] #4
Спасибо... Буду пробовать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2012, 22:43
Привет! Вот еще темы с ответами:

итератор для обхода по бинарному дереву - C++
Кхм. Попытался реализовать итератор для обхода по бинарному дереву... Наткнулся на запару. Дерево должно быть обязательно круговым, чтобы...

Поиск по бинарному дереву целочисленных значений - C++
Здравствуйте! Очень нужна помощь данном, надеюсь что простом, задании. Заранее спасибо!:-[ Реализовать поиск по бинарному дереву...

Довести до ума программу про бинарному дереву - C++
Здравствуйте. Помогите пожалуйста привести до ума задачу: организовать бинарное дерево по заданной последовательности и функцию включения...

Как добавить свойства бинарному файлу? - C++ Builder
Здравствуйте, уважаемые. Надеюсь на вашу помощь в следующей проблеме: У MP3 файлов есть свойства, которые позволяют проигрователю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.05.2012, 22:43
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru