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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
#1

ввод/вывод класса и файл. - C++

16.04.2012, 16:57. Просмотров 467. Ответов 2
Метки нет (Все метки)

Добрый день.
В условии задачи требуется реализовать перегрузку потоков с той целью, чтобы работать с файлом.
Проблем особых не возникло, если файл открыт в обычном режиме.

Прототипы в классе у меня вот такие
C++
1
2
friend ofstream& operator<< ( ofstream& os, const polynomial& in);
friend ifstream& operator>> (ifstream& is, polynomial& in);
Работа данных функций сводится к
C++
1
return ofs << string;
и
C++
1
2
3
4
5
while( !ifs.eof() ){
    is >> tmp[i++];
    ...
}
return ifs;
Но возникла проблема в бинарном режиме работы с файлами, так как чтение и запись там другие.
Как быть? Есть ли свойство у ifstream ifs, которое указывало бы на режим открытия потока?
Как то можно отличить в функции ifs (который передается как аргумент), созданный вот так
C++
1
ifstream ifs("input.txt", std::ios::binary);
или вот так
C++
1
ifstream ifs("input.txt");
спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2012, 16:57     ввод/вывод класса и файл.
Посмотрите здесь:

Ввод/вывод, метод класса - C++
Добрый день, только начал изучать c++ и сразу много всяких непонятных ошибок, в c# куда проще было =( #include &lt;iostream&gt; #include...

Ввод и вывод строки собственного класса - C++
Добрый вечер. Пишу свой класс строк, беда в том, что во вводе что-то, видимо, не так..В общем, строка вводится, но не выводится:( Все...

Файл. Ввод/вывод. - C++
нуждаюсь в вашей помощи. создать входной файл из нескольки строк символов. создать выходной файл в который записать 3 строчку с...

Файл ввод-вывод - C++
У меня есть задача в которой нужно: 1) Скопировать в файл F2 только те строки из F1, которые начинаются с символа заданного...

Ввод-вывод в файл на C++ - C++
Есть txt файл &quot;semiya.txt&quot;, в котором есть список: мама папа брат сестра (в столбике). Надо создать другой txt файл...

Ввод вывод в файл - C++
у меня задание Написать программу на языке C++, осуществляющую чтение из файла содержащего 10 целых чисел, кратных вашему номеру в журнале...

Ввод-вывод в файл - C++
Доброго времени суток.Помогите пожалуйста разобраться. Нужно записать в файл структуру,которая создается в данной программе и считать...

Ввод и вывод в файл - C++
В текстовом файле INPUT.TXT записаны целые числа через пробел, возможно, в несколько строк. За один просмотр файла сформировать список этих...

Ввод\вывод в файл - C++
Здравствуйте! Подскажите пожалуйста, как ПРАВИЛЬНО организовать ввод и вывод в файл в С++.И ещё,подскажите как в файле при чтении или...

Ввод и вывод в файл - C++
Дан текстовый файл INPUT.TXT. Проверить в тексте файла правильности расстановки открывающих и закрывающих скобок ‘(‘, ‘)’, ‘{‘, ‘}’, ‘’....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
16.04.2012, 17:02     ввод/вывод класса и файл. #2
для бинарного режима read и write
вот тут справка, гляньте
http://www.cplusplus.com/reference/i.../istream/read/
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
17.04.2012, 17:06  [ТС]     ввод/вывод класса и файл. #3
да я знаю, что read() и write().
может быть я неправильно обьяснил.
есть
ifstream ifs("input.txt");
и в случае с
ifs>>MyClass;
вызывается
friend ifstream& operator>> (ifstream& is, MyClassl& in);
// все работает.

и есть
ifstream ifs("input.txt", std::ios::binary);
и в случае с
ifs>>MyClass;
тоже вызывается
friend ifstream& operator>> (ifstream& is, MyClassl& in);
// не работает, так как она "не знает", что ifs - создано в бинарном режиме.
// не работает, так как она "не знает", что необходимо использовать read() и write().
Как сделать так, что бы
friend ifstream& operator>> (ifstream& is, MyClassl& in);
могла определить какой это ifs - обычный или бинарный?

Добавлено через 18 минут
я хочу писать
ifs >> MyClass A;
и не думать. какой это ifs - бинарный или нет.

Добавлено через 15 часов 8 минут
up...

Добавлено через 8 часов 20 минут
up... (да простят меня админы)
Ответ Создать тему
Опции темы

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