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

Функция fseek - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали http://www.cyberforum.ru/cpp-beginners/thread255405.html
Двумерные массивы, условие в заголовке! Заранее спасибо)
C++ Удобнее Подскажите пожалуйста билдер для С, чтобы удобнее был (вот на паскале, например, я использовал не TurboPascal, а Pascal ABC) http://www.cyberforum.ru/cpp-beginners/thread255356.html
Библиотеки C++ функций для преобразования файлов- картинок C++
Не подскажите, какие лучше использовать библиотеки для работы с картинками BMP, JPG, GIF, PNG (желательно с исходными кодами) ?
Любимые бинарные деревья. C++
Доброго времени суток. появилась проблема с решением задачи. собсна задача: "найти количество отрицательных узлов в левом и правом поддереве и сравнить их." функция должна быть int-овская. и...
C++ Слово чемпион о_О http://www.cyberforum.ru/cpp-beginners/thread255345.html
Задано некоторое предложение на неизвестном языке. Назовем слово в нем чемпионом, если оно является палиндромом и количество букв в нем максимально. Буквами алфавита в неизвестном языке являются...
C++ Ответ на вопрос по С++ определение объединения (union), синтаксис, назначение спасибо подробнее

Показать сообщение отдельно
obZen
1 / 1 / 0
Регистрация: 11.03.2011
Сообщений: 22

Функция fseek - C++

11.03.2011, 14:54. Просмотров 1887. Ответов 6
Метки (Все метки)

Здраствуйте! Пишу сейчас телефонную книгу. Точнее что-то наподобие этого.
Появилась проблема. Мне необходимо из файла, в который раннее были поблочно занесены контакты, прочитать контакт с заданным номером(порядковым). Чтобы узнать кол-во байт, на которое необходимо передвинуть указатель использую цикл, в котором складываю размеры елементов массива(из которого раннее производилась запись в файл). Так вот до 4-го элемента все впорядке. Если пробую считать от 5-го, сумма байтов выходит не корректная, следовательно и запись читается неправильно. Всего 10 записей: с 5й по 9ю не получается прочитать. Размер всех записей разный.

Уточнение: student - структура. Массив А типа student.

Возможно ли другим способ узнать размер блоков, которые необходимо "перепрыгнуть"?

C++
1
2
3
4
5
6
7
8
9
10
11
    int num;
    cin >>num;
    int size=0;
    for (int i=0; i<num; i++)
    {
        size=size+sizeof(A[i]);
    }
    student st;
    out = fopen("students.txt", "rt");
    fseek(out, size, 0);
           fread(&st, 1, sizeof(st), out);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru