С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
007imran007
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 83
#1

Как правильно передать объект fstream в функцию - C++

05.09.2014, 14:28. Просмотров 962. Ответов 3
Метки нет (Все метки)

При использовании следующего подхода возникают вопросы:
C++
1
int myFunc(fstream& data);
1. Если я открою поток из функции, можно ли его закрыть из тела программы?
2. Можно ли поочередно(после закрытия одного) открывать потоки ввода/вывода из одного и того же объекта?
3. Если при открытии потока я не укажу флаги ios::in/ios::out, но использую в ходе один из видов побитового сдвига(aka <<, >>), сможет ли компилятор понять, что именно я пытался сделать, например:
C++
1
2
3
4
5
int num;
fstream data;
data.open("text.txt");
data >> num;
data.close();
4. При открытии потока в теле программы и указании флага ios::in/ios::out, а также дальнейшей передачи объекта в функцию - будет ли она знать с каким флагом был открыт процесс, если нет - то как?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2014, 14:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как правильно передать объект fstream в функцию (C++):

Как правильно передать объект в функцию при использовании многопоточности - C++
Добрый день, форум! Возникла вот такая задача: Есть два класса: класс А, реализующий интегрирование функции, и класс В, реализующий...

Передать объект fstream функции - C++
Здравствуйте. Хочу, чтобы функция принимала в качестве аргумента объект fstream. Примерный вид программы: #include &lt;fstream&gt; using...

Недопустимый неполный тип , или как передать в функцию указатель на объект класса , или просто объект - C++
Други мои , кодеры. Не могу я ни как передать в функцию объект класса , или что еще лучше(для меня , так как учусь работать с указателями)...

Как передать объект в функцию - C++
Допустим у меня есть такой класс: class Abc { private: int a; public: void set_a(int A) { a = A;

Не могу понять, как правильно передать указатель на объект в файл - C++
Есть вектор v, который надо отсортировать. Есть класс MergeSort, который это должен делать, он содержит в качестве параметра указатель на...

Как правильно передать массив в функцию? - C++
Возникла такая загвоздка: написал три функции для работы с массивом. Вроде всё компилирует, кроме вызова этих функций, а конкретнее при...

3
FiLF
53 / 53 / 15
Регистрация: 05.09.2013
Сообщений: 1,425
05.09.2014, 14:31 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Да. А почему бы тестовый пример не написать и не проверить всё это?
1
007imran007
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 83
05.09.2014, 15:50  [ТС] #3
Цитата Сообщение от FiLF Посмотреть сообщение
Да. А почему бы тестовый пример не написать и не проверить всё это?
Действительно, все потвердилось. Тестовый пример не начал создавать, т.к. уже итак писал тест на тест для программы) в итоге решил его таки создать и проверить - так намного интересней.
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.09.2014, 16:11 #4
Цитата Сообщение от 007imran007 Посмотреть сообщение
Если при открытии потока я не укажу флаги ios::in/ios::out
При открытии потока присутствуют флаги выставленные по умолчанию. Для ifstream - ios::in, для ofstream - ios::out, для fstream - ios::in | ois::out.
0
05.09.2014, 16:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2014, 16:11
Привет! Вот еще темы с ответами:

Как правильно передать уникальный аргумент в функцию - C++
Здравствуйте! Помогите пожалуйста в решении такой проблемы: Есть структура, она должна хранить в себе строку, и уникальный символ. В...

Указатели и матрицы: как правильно передать матрицу в функцию? - C++
Здравствуйте! Во время того, как переписывал программу функциями возникла проблема, а именно: массив просто так не передается в функцию. ...

Как правильно передать в функцию указатель на двумерный массив? - C++
Сабж #include &lt;windows.h&gt; #include &lt;stdio.h&gt; using namespace std; //ОТ безысходности сделал матрицу глобальной int A = {2,...

Как правильно передать массив объектов пользовательского типа в функцию? - C++
Доброго всем, пишу впервые пишу огромную программу - игру и столкнулся с проблемой, которую так сам и не могу решить. Нужно передать массив...


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

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

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