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

передача в функцию - C++

Восстановить пароль Регистрация
 
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
19.03.2010, 21:39     передача в функцию #1
Здрасти.


C++
1
ifstream in("1.txt");
что возвращает in? как передать этот поток (in) в функцию которая выводит символы?

C++
1
2
3
4
5
6
7
8
void readFile( ???????????? ){
    char ch;
    while (in){
        in.get(ch);
        cout<<ch;
        getch();
    }
}
Добавлено через 8 минут
я написал второй вариант:

C++
1
2
3
4
5
6
7
8
9
void readFile(char* pathToFile){
    ifstream in(pathToFile);
    char ch;
    while (in){
        in.get(ch);
        cout<<ch;
        getch();
    }
}
какеой правильнее использовать ? первый вариант или второй?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2010, 21:39     передача в функцию
Посмотрите здесь:

C++ Передача файла в функцию
C++ Передача матрицы в функцию
Передача двухмерного массива из функцию в функцию C++
C++ Передача в функцию
Передача массива в функцию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.03.2010, 21:44     передача в функцию #2
PointsEqual, В функцию открытый файл вот так можно передать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
...
void myFunc (std::istream& ist, std::vector<std::string>& v){
  std::string buf;
  while ( ist >> buf )
    v.push_back(buf);
}
...
std::vector<std::string> vec;
std::ifstream fin("file.txt"); 
// проверить удачность открытия файла...
myFunc(fin, vec);
fin.close();
...
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
19.03.2010, 21:45  [ТС]     передача в функцию #3
easybudda, а какой вариант лучше исполльзовать? Передавать файл или путь к нему?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.03.2010, 21:51     передача в функцию #4
Цитата Сообщение от PointsEqual Посмотреть сообщение
какой вариант лучше исполльзовать?
Не знаю, если честно, какой из них лучше, знаю только, что в любом случае нужно проверять результат каждого действия с файлом... То бишь приведённую мной в пример функцию лучше было бы как-то так переписать:
C++
1
2
3
4
5
6
bool myFunc (std::istream& ist, std::vector<std::string>& v){
  std::string buf;
  while ( ist >> buf )
    v.push_back(buf);
  return !ist.bad();
}
и проверять возвращаемое значение - если true, значит всё сложилось...
Yandex
Объявления
19.03.2010, 21:51     передача в функцию
Ответ Создать тему
Опции темы

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