Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
1

Что делает оператор "<<=" при записи в файл ?

16.12.2018, 13:35. Просмотров 393. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template<class T>
void textFile::toFile(T &obj, string _filemarking)
{
    ofstream ofs(_filemarking, ofstream::app);
    if (!ofs)
    {
        cout << "Не удалось открыть файл: " << _filemarking;
        system("pause");
        return;
    }
    ofs <<= obj;
    ofs << endl;
    ofs.close();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2018, 13:35
Ответы с готовыми решениями:

Что означает и делает оператор ">>="
Глупый вопрос, но тем не менее. Что означает и делает оператор &quot;&gt;&gt;=&quot;. Может есть русское описание?

Что делает оператор "=>" ?
Например: $fruits = array('strawberry' =&gt; 'red', 'banana' =&gt; 'yellow');

Проблема при сравнении: "Оператор ">" не может применяться к операндам типа "Т" и "Т""
Добрый день , пишу сортировку , все делаю на основе Т , но вот в чем проблемма public class...

Что делает опция "оптимизировать код" при компиляции
В настройках проекта есть чекбокс &quot;Оптимизировать код&quot;. Подскажите, что происходит при такой...

5
Модератор
Эксперт С++
10150 / 8499 / 5165
Регистрация: 18.12.2011
Сообщений: 22,738
16.12.2018, 13:45 2
Похоже, это просто опечатка.
0
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
16.12.2018, 13:51  [ТС] 3
если убрать эту строчку ( ofs <<= obj), то в файл не запишется

Добавлено через 2 минуты
а при считывании из файла будет оператор левого смещения (ifs >>= obj)
0
Модератор
Эксперт С++
10150 / 8499 / 5165
Регистрация: 18.12.2011
Сообщений: 22,738
16.12.2018, 13:58 4
Цитата Сообщение от danila-2000 Посмотреть сообщение
если убрать эту строчку
А если оставить, то программа не компилируется
Ошибка C2678 бинарный "<<=": не найден оператор, принимающий левый операнд типа "std::ofstream" (или приемлемое преобразование отсутствует) test d:\current\test\test.cpp 15
0
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
16.12.2018, 14:11  [ТС] 5
ну видно что оператор <<= не перегружен(светится чёрным, а не синим как оператор <<)
0
Миниатюры
Что делает оператор "<<=" при записи в файл ?  
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
16.12.2018, 14:13  [ТС] 6
но не смотря на это в каждом классе прописаны перегрузки оператора <<=
C++
1
2
3
4
5
void operator <<= (ostream & stream, capacitor & tmp)
{
    stream <<= dynamic_cast <radioСomponents&>(tmp);
    stream << tmp.capacity << "|";
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2018, 14:13

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Оператор "&&" не может применяться к операндам типа "bool" и "double", что не так?
Показывает ошибку&quot;Оператор &quot;&amp;&amp;&quot; не может применяться к операндам типа &quot;bool&quot; и &quot;double&quot;&quot;...

При компиляции выскакивает ошибка "оператор == не может применяться к операндам типа "Т" и "Т"
Есть обобщённый метод public Boolean In(T element) { flag = false; foreach (T el in...

Необработанное исключение в "0x00a78659" в "First.exe": 0xC0000005: Нарушение прав доступа при записи "0x0189f000"
Здравствуйте, вот столкнулся с ошибкой и не могу понять в чем причина, вроде все правильно сделал....

Ошибка "Приведение строки "explorer.exe" к типу "Double" является недопустимым" при записи в реестр
Помогите, хочу получить доступ к winlogon, что бы изменять любое другое значение shell на...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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