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

Присваивание объекта класса ofstream - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как пользоваться с scanf, и чем отличается от cout http://www.cyberforum.ru/cpp-beginners/thread1114073.html
Знающие, подскажите как пользоваться с scanf, и чем отличается от cout. И чем лучше всего пользоваться.
C++ Расположить первые N натуральных чисел так, чтобы между любыми двумя из расположенных не было их среднего арифметического #include<iostream> #include<vector> using namespace std; void func (vector<int> vec, int p) { int i; i = 0; stop1:while (i<p) { http://www.cyberforum.ru/cpp-beginners/thread1114044.html
Как реализовать наследование классов C++
Здравствуйте, уважаемые форумчане. Помогите с решением проблемной ситуации, связанной скорее всего с аргументами в коде. Я определяю дочерний класс Diagonalsandrectangle, но при выполнении метода ShowObject ShowPoint не срабатывает. Задали домашнюю, почитал материал, думаю дело в том что надо было аргументы еще добавить или объявить. Никогда раньше с наследованием, а тем более множественным, не...
В строке удалить все заданные группы букв C++
Добрый Вечер! Помогите пожалуйста! В строке удалить все заданные группы букв.
C++ Напишите функцию, считывающую значение из первого узла списка и удаляющую его http://www.cyberforum.ru/cpp-beginners/thread1114022.html
1) Напишите функцию, считывающую значение из первого узла списка и удаляющую его. 2) Напишите функцию, удаляющую весь список. Помогите с этими задачами. И вообще можете объяснить или скинуть ссылку, где объяснены узлы,списки, стеки и все, что с ними связано.Я совсем уже потерялся в них=( Добавлено через 3 часа 4 минуты Кто-нибудь может помочь?
C++ Сравнения строк по индексацией Народ как ето сравнения строк по индексацией ? подробнее

Показать сообщение отдельно
DrOffset
6783 / 3994 / 916
Регистрация: 30.01.2014
Сообщений: 6,812
08.03.2014, 18:35     Присваивание объекта класса ofstream
Цитата Сообщение от Aндерсон_256 Посмотреть сообщение
Конструктор Store должен указывать объект ifstream (вероятнее всего,это опечатка в книге, должно быть ofstream), а
перегруженная функция operator () (const string &) должна указывать строку,
подлежащую записи.
Ты не правильно понял задание. Имелось в виду вот это:
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
class Store
{
public:
    Store(char const * filename)
        : of(filename, std::ios::binary)
    {}
 
    void operator()(std::string const & str)
    {
        std::size_t len = str.length();
 
        of.write((char *)&len, sizeof(std::size_t)); // сохранить длину
        of.write(str.data(), len); // сохранить символы
    }
 
private:
    std::ofstream of;
};
 
int main()
{
    Store s("test.bin");
 
    s("test string");
}
Добавлено через 4 минуты
Хотя я тоже неправильно понял. Если это функтор, то:
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
class Store
{
public:
    Store(std::ofstream & file)
        : of(file)
    {}
 
    void operator()(std::string const & str)
    {
        std::size_t len = str.length();
 
        of.write((char *)&len, sizeof(std::size_t)); // сохранить длину
        of.write(str.data(), len); // сохранить символы
    }
 
private:
    std::ofstream & of;
};
 
int main()
{
//....
    std::ofstream fout("strings.dat", ios_base::out | ios_base::binary); 
    std::for_each (vostr.begin (), vostr.end(), Store(fout)) ; 
    fout.close() ; 
//....
}
 
Текущее время: 21:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru