Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фаил как параметр функции 
V
    Опции темы
StargazerV
Дата 14.1.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.1.2008

Репутация: нет
Всего: нет



Проблема нуба - нужно задать открытый фаил, как параметр функции.
Пример:
Код

#include <iostream>
#include <fstream>
using namespace std;

void general();

int main(char *argv[])
{
    ifstream input;
    ofstream output;

    input.open (argv[1], ifstream::in);
    output.open (argv[2], ifstream::out);

    ifstream input;
    ofstream output; 

    general();

    return 0;
}


Функция general должны использовать фаил input открытый ранее, брать из него данные, обрабатывать и записывать в output. На сколько я понимаю, для этого нужно передать открытые файлы в функцию. Как это сделать, не представляю!  smile 

ХЕЛП!
PM MAIL   Вверх
Sartorius
Дата 14.1.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 2
Всего: 37



Код

void general(ifstream & in)
{
...
}


PM MAIL ICQ   Вверх
StargazerV
Дата 14.1.2008, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.1.2008

Репутация: нет
Всего: нет



Цитата(Sartorius @ 14.1.2008,  15:20)
Код

void general(ifstream & in)
{
...
}

А для передачи файла out нужно добавить ifstream & out ???
PM MAIL   Вверх
Sartorius
Дата 14.1.2008, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 2
Всего: 37



 ну ты же хочешь передать ссылку на объект класса ofstream - значит func(ofsteram & out)

Это сообщение отредактировал(а) Sartorius - 14.1.2008, 15:35
PM MAIL ICQ   Вверх
StargazerV
Дата 14.1.2008, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.1.2008

Репутация: нет
Всего: нет



угу, понял. Вроди нормально всё, вот только не компилируется зараза  smile 
Код

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

bool general(ifstream & in, ofstream & out, string row);

int main(int argc , char *argv[])
{
    bool eof=false;
    
    ifstream input;
    ofstream output; 

    string row;
    
    input.open (argv[1], ifstream::in);        // Opening input file.
    
    output.open (argv[2], ifstream::out);    // Opening output file.
    
    do
    {
        if(!general(input, output, row))
            eof=true;
    }
    while(!eof);
        
    input.close();
    output.close();
        
    return (EXIT_SUCCESS);
}

bool general(ifstream & in, ifstream & out, string row)
{
    ,
    ,    
    ,
    ,
    ,

    return(true);
}



Добавлено через 5 минут и 46 секунд
вот такую ошибку выдаёт:


Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  error.jpg 29,95 Kb
PM MAIL   Вверх
JackYF
Дата 14.1.2008, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(StargazerV @  14.1.2008,  14:43 Найти цитируемый пост)
    ,
    ,    
    ,
    ,
    ,

это что такое? smile

файлу дай расширение .cpp и компилируй ещё раз.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
StargazerV
Дата 14.1.2008, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.1.2008

Репутация: нет
Всего: нет



Цитата(JackYF @  14.1.2008, 15:52)

Цитата(StargazerV @  14.1.2008,  14:43)
    ,
    ,    
    ,
    ,
    ,

это что такое? smile


Это пока не написаная функция. Просто обозначил, что там типа будет функция. Это никак не флияет на результат компиляции.

Цитата(JackYF @  14.1.2008, 15:52)

файлу дай расширение .cpp и компилируй ещё раз.

Дал. Не помогает. Компилятор ругается вроди на обращение к функции, типа че-то не так обратился к ней. Странно.

Добавлено через 9 минут и 57 секунд
Аааа... а дЕбил... разобрался.
Там где я пишу саму функция, вместо ofstream написал ifstream. Вот меня компилятор и крыл матом за то, что в одном месте указал как исходящий поток, а в другой то же самое определил входящим.

Всем огромное спасибо!
PM MAIL   Вверх
JackYF
Дата 14.1.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



StargazerV, помечай тему решённой.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
StargazerV
Дата 15.1.2008, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.1.2008

Репутация: нет
Всего: нет



Извиняюсь, новенький на форуме, забыл. Уже пометил и впредь буду помечать. Спасибо за замечание  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0769 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.