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

Запись/чтение массива структур в бинарный файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Набрать с чисел Фибоначчи в интервале от 1 до 100, только просто числа, а также их порядковые номера в ряду Фибоначчи http://www.cyberforum.ru/cpp-beginners/thread758546.html
Помогите с задачкой Набрать с чисел Фибоначчи в интервале от 1 до 100, только просто числа, а также их порядковые номера в ряду Фибоначчи.
C++ Будьте так добры (найти ошибку в коде) Здравствуйте! Помогите ошибку в коде, никак не могу понять где она.#include <iostream> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <conio.h> using namespace std; struct student { http://www.cyberforum.ru/cpp-beginners/thread758527.html
Нетривиальная работа с классами C++
Проблема такая , есть классы A{ public: int a,int b} B { public: int c,int d} Как мне считать в эти классы одной функцией template <class T> read(*T) {T->первое поле класса =x, T->второе поле класса = y}; Вот я знаю что могу вернуть имя класса через typeid(B).name() , но вот имя поля ? Если в первом случае первое поле имеет название a , а во втором c?
Разработать программу для службы занятости. желательно по быстрее если можно) у нас экзамен выручайте братья) C++
Разработать программу для службы занятости. Предусмотреть возможность ведения списка вакансий, содержащего следующую информацию: • Наименование организации. • Местоположение. • Требуемая квалификация и стаж работы. • Требуемый возраст кандидата. • Дополнительные требования к кандидату.
C++ Разработать программу, осуществляющую поиск самого короткого и самого длинного слова во вводимом тексте http://www.cyberforum.ru/cpp-beginners/thread758515.html
Разработать программу, осуществляющую поиск самого короткого и самого длинного слова во вводимом тексте. С комментами)
C++ Определить столбец с максимальным по модулю значением этой суммы и вывести его номер на экран В квадратной матрице размером Т*Т, имеющей имя MKA , содержаться целые числа, Т-число строк и столбцов Ввести элементы матрецы с клавиатуры. Определить и вывести на экран сумму отрицательных элементов в каждом столбце. Определить столбец с максимальным по модулю значением этой суммы и вывести его номер на экран. подробнее

Показать сообщение отдельно
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
11.01.2013, 15:01  [ТС]     Запись/чтение массива структур в бинарный файл
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
если надо от конца то вычисляй позицию от начала (такой подход 100 % даёт верные результаты)
Согласен, от начала все замечательно работает. Непонятка была именно с отрицательным смещением.

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
что это за ерунда - указатель в -3 ю позицию там stream pos тобишь unsigned
stream pos разве обязательно беззнаковый? судя по:

C++
1
fin.seekg(-3 * (signed)sizeof(tmp), ios::end);
Работает нормально и с отрицательными значениями. Моя ошибка тут была в том, что при умножении -3 на sizeof(temp) (знакового на беззнаковое) получался беззнаковый результат, а не то, что я хотел бы.

Цитата Сообщение от WhiteP Посмотреть сообщение
перед собственно смещением передается еще один int
Я не смог найти точной информации о типе std::streampos, кроме того, что это синоним fpos<mbstate_t>. А fpos, в свою очередь, зависит от реализации.
http://www.cplusplus.com/reference/ios/streampos/
http://www.cplusplus.com/reference/ios/fpos/

Из вашего примера, правильно ли я понимаю, что streampos на уровне абстракции - это все же тип со знаком, имеющий в реализации две переменные int. И эти переменные принимают разные значения, в зависимости от того, значение какого типа передаем - знакового или беззнакового?

Допустим, если sizeof(int) равно 4, то:

-3 * sizeof(int) = 00000000 fffffff4
-3 * signed(sizeof(int)) = ffffffff fffffff4
 
Текущее время: 09:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru