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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Ytsukene
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 42
#1

Передача файла в функцию в качестве параметра - C++

28.09.2013, 20:35. Просмотров 1195. Ответов 7
Метки нет (Все метки)

Здравствуйте! Подскажите, как передать файловый поток в функцию?

C++
1
2
3
4
5
6
7
8
9
10
int main()
{
ifstream fin("my file.txt");
...
}
 
void add ([..?..])
{
...
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2013, 20:35     Передача файла в функцию в качестве параметра
Посмотрите здесь:

Функции, передача массива в качестве параметра C++
Передача файла в качестве параметра C++
Передача двумерного массива указателей на char в качестве параметра функции C++
Передача массива в функцию в качестве параметра C++
Передача функции с двумерным массивов в качестве параметра C++
Передача указателя в качестве параметра функции динамически подключаемой библиотеки .so C++
C++ Передача члена класса в качестве параметра метода
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,164
Завершенные тесты: 2
28.09.2013, 20:43     Передача файла в функцию в качестве параметра #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <fstream>
 
int main()
{
ifstream fin("my file.txt");
add(fin);
}
 
void add (std::istream& f)
{
...
}
ifstream наследуется от istream
Ytsukene
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 42
29.09.2013, 14:09  [ТС]     Передача файла в функцию в качестве параметра #3
Спасибо
При таком раскладе ошибка (до компиляции) не выделялась, но и прога не компилировалась:

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <fstream>
 
int main()
{
ifstream fin("my file.txt");
add(fin);
}
 
void add (ifstream fin)
{
...
}
Не подскажете, почему?
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
29.09.2013, 14:14     Передача файла в функцию в качестве параметра #4
Цитата Сообщение от Ytsukene Посмотреть сообщение
Не подскажете, почему?
Компилятор подскажет. Он парень дотошный и аккуратный, обо всех ошибках сообщает.
Ytsukene
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 42
29.09.2013, 14:20  [ТС]     Передача файла в функцию в качестве параметра #5
Для новичка вроде меня ответы компилятора довольно невразумительные)
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
29.09.2013, 14:20     Передача файла в функцию в качестве параметра #6
Ytsukene, потому что для ifstream запрещёно копирование (копирующий конструктор отсутствует)
castaway
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
29.09.2013, 14:32     Передача файла в функцию в качестве параметра #7
А при чем тут конструктор копирования?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <fstream>
#include <string>
 
void add( std::ifstream & f )
{
    std::string s;
    f >> s;
    std::cout << s << std::endl;
}
 
int main()
{
    std::ifstream fin( "test.txt" );
    add( fin );
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2013, 14:58     Передача файла в функцию в качестве параметра
Еще ссылки по теме:

Передача класса в качестве параметра шаблона C++
Передача двумерного динамического массива в функцию в качестве параметра C++
Передача файла в функцию в качестве параметра C++
C++ Передать функцию в качестве параметра
C++ Передача CString в качестве параметра функции

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

Или воспользуйтесь поиском по форуму:
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,164
Завершенные тесты: 2
29.09.2013, 14:58     Передача файла в функцию в качестве параметра #8
castaway, при том что в его варианте написано
Цитата Сообщение от Ytsukene Посмотреть сообщение
#include <fstream>
int main()
{
ifstream fin("my file.txt");
add(fin);
}
void add (ifstream fin)
{
...
}
Yandex
Объявления
29.09.2013, 14:58     Передача файла в функцию в качестве параметра
Ответ Создать тему
Опции темы

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