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

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

Войти
Регистрация
Восстановить пароль
 
DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 107
Завершенные тесты: 1
#1

Как поток чтения (или записи) запихнуть в класс? - C++

02.07.2013, 14:26. Просмотров 280. Ответов 2
Метки нет (Все метки)

Здравствуйте!!! Ребят, подскажите пожалуйста, собственно, как запихнуть в класс поток ifstream? Че-то я озадачен оказался *-)

Без класса это выглядит у меня вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const size_t MAX1 = 81;
 
char namefile[MAX1];
 
cout << "Введите имя файла для чтения(например: C:/L34/test.txt):______\b\b\b\b\b\b";
cin.getline(namefile, MAX1);
 
ifstream file1(namefile);
 
if(file1.is_open())
{
    cout <<  "Файл успешно открыт!!!"  << endl;
}
else
{
    cout << "Не удалось открыть файл!!!" << endl;
}
Но хочется сделать, чтобы поток все же был в классе.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Readfile
{
private:
    ifstream f;      //поток, как я понимаю, засовывается в private
 
public:
    Readfile();
    ~Readfile(){};
};
 
Readfile::Readfile()
{
    //  наверное,  как-то вот так должно быть, но не проходит(  -   f("E:/test.txt");            
          //как  мне связать поток с файлом???
 
    f.close();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2013, 14:26     Как поток чтения (или записи) запихнуть в класс?
Посмотрите здесь:

Можно ли открыть поток для чтения и записи файла одновременно? - C++
Можно ли открыть поток для чтения и записи одновременно? Этот код не работает: wchar_t temp; wstring wchars; ...

Как задать кодировку при записи в файл или чтения из него - C++
У меня блокнот Notepad++, своей программой я записываю в некоторый текстовый файл все символы ASCII. Проблема вот в чем: программа...

Класс записи/чтения матрицы в файл - C++
Учу по немного С++, попробовал реализовать класс записи/чтения матрицы в файл struct IFile { ~IFile() { } virtual...

Как запихнуть массив строк в класс? - C++
Есть класс, один из методов который использует массив строк: char* pszName = { &quot;Anton&quot;, &quot;Alex&quot; }; Сейчас это вне класса, как в...

подскажите пожалуйста как запихнуть в класс конструктор - C++
по лабораторной задание: создать программу которая решает заданный интеграл методом трапеций...тра-ля-ля...создавать с учетом...

Запихнуть данные в поток - C++
Тааак, задам экстремальный вопрос: В общем была себе перегрузка оператора ввода в одном примере, рассчитана на ввод 14 символов и их...

Попытка чтения или записи в защищенную память - C++
Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена. P.S. не ругайтесь...

Попытка чтения или записи в защищенную память - C++
Здравствуйте. Вот такая проблема. При компиляции программы выводит сообщение: An unhandled exception of type...

Попытка чтения или записи в защищенную память - C++
собственно в проблема в заголовке #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; void...

Ошибка : Попытка чтения или записи в защищенную память - C++
выходит ошибка после того как выполняется функция void poisk_cena(). Подскажите пожалуйста где ошибка. Ошибка: Необработанное...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
02.07.2013, 14:38     Как поток чтения (или записи) запихнуть в класс? #2
DPS, смотрим метод open()
coloc
погромист
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
02.07.2013, 14:42     Как поток чтения (или записи) запихнуть в класс? #3
Можешь сделать конструктор типа
C++
1
Readfile::Readfile( const char * const filename ) : f( filename ) {}
Ответ Создать тему
Опции темы

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