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

Запись объектов в файл - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ написать класс с реализацией обыкновенных дробей с выделенной частью http://www.cyberforum.ru/cpp-beginners/thread1051162.html
написать класс с реализацией обыкновенных дробей с выделенной частью. Перегрузка операции сложения "+", потокового ввода и вывода. с конструктором и деструктором. Ограничение: наследование. Вывод сумма. Как его написать, знаю примерно как с дробями а с целой частью проблема( Называйте темы информативно. Замечание уже не в первый раз.
C++ Формирование одномерного массива из сумм элементов каждой строки матрицы, кратных числу k Все, вроде, правильно, но выводит только первый элемент попавший в if. #include <conio.h> #include <iostream> using namespace std; int main() { http://www.cyberforum.ru/cpp-beginners/thread1051158.html
Простые числа C++
программу написал, но работает что медленно, может кто поможет?) что не так подскажет... #include "mpi.h" #include <stdio.h> #include <math.h> #define N 100000 int main(int argc,char *argv){ int rank; int size;
C++ Класс Булева Матрица
Срочно нужна помощь с задачей! Описать класс BoolMatr (Булева матрица) С ВОЗМОЖНОСТЬЮ НУМЕРОВАТЬ ЭЛЕМЕНТЫ С ЛЮБОГО ЧИСЛА (а не только с нуля, как это принято в С++). Примерная структура класса: Закрытые поля: номер начальной строки матрицы, номер последней строки матрицы, номер начального столбца матрицы, номер последнего столбца матрицы, массив элементов. Открытые методы класса: -2...
C++ Необработанное исключение http://www.cyberforum.ru/cpp-beginners/thread1051138.html
Здравствуйте! Задачу см. во вложениях. Мой код: заголовочный файл: #include <string> #include <iostream> using std::string; using std::cin; using std::endl; using std::cout;
C++ Определить, содержится ли один из них полностью в другом Даны 2 отрезка действительной прямой. Определить, содержится ли один из них полностью в другом. Пожалуйста, если возможно с разбором подробнее

Показать сообщение отдельно
SimplySorc
1 / 1 / 0
Регистрация: 14.04.2013
Сообщений: 34
21.12.2013, 21:16  [ТС]     Запись объектов в файл
я находил такой пример, но здесь мне непонятны несколько вещей.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <fstream>
 
class my {
    int a;
    float b;
    char c[30];
    public:
    friend std::ostream& operator<<(std::ostream& o, my& x){
        std::cout<<"a= "<<x.a<<", b= "<<x.b<<", c= "<<x.c;// я так понял это можно опустить т.к.
// это просто выведет на экран что я записал в файл(пока файл будет записываться)
    }
    void create(){
        std::cout<<"a = "; std::cin>>a;
        std::cout<<"b = "; std::cin>>b; std::cin.ignore();
        std::cout<<"c = "; std::cin.getline(c, 30);
        std::cout<<*this<<" created\n";
    }
};
 
int main (){
    my o, o1;
    o.create();
    std::ofstream ofs("text.txt", std::ios::binary); //"ofs" - эта переменная берется из ниоткуда 
//будь вместо нее "о" я бы еще понял, а при текущей записи у меня ругается компилятор.
    ofs.write(reinterpret_cast<char*>(&o), sizeof(o));
    ofs.close();
    std::ifstream ifs("text.txt", std::ios::binary);// ifs тоже слишком внезапна для меня
    if(!ifs){std::cerr<<"File not found"; return 1;}
    ifs.read(reinterpret_cast<char*>(&o1), sizeof(o1));
    ifs.close();
    std::cout<<"o1: "<<o1<<"\n";
}
может кто нибудь объяснить где я ошибаюсь?

Добавлено через 9 минут
разобрался с "внезапными переменными" просто я забыл поставить #include <fstream>
но вопрос о том, что делают эти строки
C++
1
2
3
friend std::ostream& operator<<(std::ostream& o, my& x){
        std::cout<<"a= "<<x.a<<", b= "<<x.b<<", c= "<<x.c;
    }
остается открытым, как собсна и вопрос, а что делает эта строка
C++
1
ofs.write(reinterpret_cast<char*>(&o), sizeof(o));
что это запись в файл я понимаю, но что это за "reinterpret_cast<char*>(&o)" я не понимаю
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru