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

Чтение из fstream - C++

Восстановить пароль Регистрация
 
el_reggae
 Аватар для el_reggae
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 7
23.12.2010, 20:59     Чтение из fstream #1
Нужно считать из файла название станции, время прибытия и отбытия поезда, для дальшейших действий.

main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "train.h"
#include "streams.h"
#include <iostream>
#include <locale.h>
#include <stdlib.h>
#include <fstream>
#include <iomanip>  
#include <istream>
using namespace std;
 
int main (void)
{
    fileWorks stin("tt.txt",ios::in);
    fileWorks stout("o.txt",ios::out);
    Train all[5];
    for (int i=0;i<5;i++)
    {
        stin.f>>all[i].stationName>>all[i].prib.hr>>all[i].prib.min;
        if (i!=0 && i!=4)   stin.f>>all[i].otpr.hr>>all[i].otpr.min>>endl;
    }
}
Вижуал студия же мне выдаёт ошибку
error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'overloaded-function' (or there is no acceptable conversion) где-то в 19 строке.


train.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef _train_h_
#define _train_h_
 
 
struct Time
{
    int hr,min;
};
struct Train
{
    char *stationName;
    Time otpr, prib;
};
 
#endif
streams.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef _streams_h_
#define _streams_h_
#include <iostream>
#include <fstream>
using namespace std;
 
class fileWorks
{
public:
    char *name;
    fstream f;
    fileWorks(char *name, int mode);
    void stClose();
};
#endif

streams.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "streams.h"
#include <stdlib.h>
 
fileWorks::fileWorks(char *name, int mode)
{
    this->name = new char[strlen(name) +1 ];            //создание в объекте имени name для дальнейшего использования
    strcpy(this->name,name);                            //копирование в имя объкта имени файла(куда;что)
    f.open(this->name,mode);                            //открытие файлового потока с именем name
    if(!f)                                              //проверка открытия потока
    {
        cout<<"Error 5: cannot open "<<this->name<<endl;
        exit(5);
    }
}
void fileWorks::stClose()
{
    f.close();                                              //закрытие потока
    if(!f)
    {
        cout<<"Error 6: cannot close "<<this->name<<endl;
        exit(6);
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2010, 20:59     Чтение из fstream
Посмотрите здесь:

запись/чтение структуры через fstream C++
C++ fstream не работает и чтение и запись
fstream и for C++
Запись/чтение структур (файлы) + разница между FILE * и <fstream> C++
Заменить чтение из файла аналогом fstream C++
C++ Чтение всего файла fstream
Fstream - чтение из файла C++
C++ Как начать чтение файла сначала после Getline с первой строчки в fstream?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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