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

Работа с файлом (передать указатель на файл в функцию, вернуть указатель на файл из функции) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.83
NeRRouZ
 Аватар для NeRRouZ
4 / 4 / 0
Регистрация: 19.12.2010
Сообщений: 54
05.04.2013, 00:28     Работа с файлом (передать указатель на файл в функцию, вернуть указатель на файл из функции) #1
Подскажите как передать указатель на файл в функцию, как вернуть указатель на файл из функции.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void Open() // из этой функции вернуть указатель на файл
{
    ifstream fin("500.txt");
/*
//
//
//
*/
}
 
void Search(ifstream &fin) // в эту функцию передать
{
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2013, 00:28     Работа с файлом (передать указатель на файл в функцию, вернуть указатель на файл из функции)
Посмотрите здесь:

Как передать параметр типа "указатель на указатель" в функцию? C++
C++ передать функции указатель на открытый файл
C++ В функцию-метод передать указатель на другую функцию-метод и вызвать через переданный указатель
Как передать функции указатель на функцию в качестве аргумента? C++
Передать в неуправляемую функцию указатель на указатель C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
05.04.2013, 00:50     Работа с файлом (передать указатель на файл в функцию, вернуть указатель на файл из функции) #2
Цитата Сообщение от NeRRouZ Посмотреть сообщение
Подскажите как передать указатель на файл в функцию, как вернуть указатель на файл из функции.
Фактически как такого указателя на файл не существует (хотя в С он реализован). В с++ есть такое понятие как поток (да и не только в с++). Для начала нужно подключить хедер <fstream> (file stream).
C++
1
2
3
4
5
6
7
8
9
10
11
12
std::istream& Open() // из этой функции вернуть указатель на файл
{
    std::ifstream fin("500.txt");
 
    return fin;
}
 
void Search(std::istream &fin) // в эту функцию передать
{
 
 
}
Фактически у с++ семейство "потоков" организовано так, что нет особой разницы на что поток передавать и на что принимать, с++ обработает всё одинаково.
IrineK
Заблокирован
05.04.2013, 00:57     Работа с файлом (передать указатель на файл в функцию, вернуть указатель на файл из функции) #3
Может, имелось в виду это?:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Open() 
{
    ifstream fin("500.txt");
/*
//
*/
   Search(fin);
/*
//
*/
}
 
void Search(ifstream &fin) 
{
 
 
}
ИМХО: Лучше организовать решение так, чтобы по возможности не поток передавать, а название файла.
NeRRouZ
 Аватар для NeRRouZ
4 / 4 / 0
Регистрация: 19.12.2010
Сообщений: 54
17.04.2013, 18:14  [ТС]     Работа с файлом (передать указатель на файл в функцию, вернуть указатель на файл из функции) #4
Спасибо за помощь, все понятно)
Yandex
Объявления
17.04.2013, 18:14     Работа с файлом (передать указатель на файл в функцию, вернуть указатель на файл из функции)
Ответ Создать тему
Опции темы

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