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

Чтение данных из файла - C++

Восстановить пароль Регистрация
 
VitPon
0 / 0 / 0
Регистрация: 11.10.2011
Сообщений: 29
02.04.2013, 22:11     Чтение данных из файла #1
Не могу получить данные из файла очень расстроен, никак не могу научится пользоваться файлами VS2010
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//FlatRequest.H
 
#define FLATREQUEST_H
 
#include <string>
#include <fstream>
using namespace std;
 
class FlatRequest
{
public: //Функции
    FlatRequest(istream file);
    ~FlatRequest();
    string GetFIO()
    {
        return FIO;
    }
    string GetCity()
    {
        return City;
    }
    string GetDistrict()
    {
        return District;
    }
    int GetAmount()
    {
        return Amount;
    }
    float GetSquare()
    {
        return Square;
    }
    void Show();
    void SetFIO(string);
    void SetCity(string);
    void SetDistrict(string);
    void SetAmount(string);
    void SetSquare(string);
private: //Данные
string FIO;
string City;
string District;
int Amount;
float Square;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//FlatRequest.cpp
 
 
#include "stdafx.h"
#include <iostream>
#include "FlatRequest.h"
using namespace std;
 
fstream inOutCredit("credit.dat", ios::in | ios::out);
 
FlatRequest::FlatRequest(istream file)
{
    cout<<"Constructor is working"<<endl;
    file>>FIO>>City>>District>>Amount>>Square;
}
FlatRequest::~FlatRequest()
{
    cout<<"Destructor is working"<<endl;
}
 
void FlatRequest::Show()
{
        cout<<FIO<<" "
            <<City<<" "
            <<District<<" "
            <<Amount<<" "
            <<Square<<" "
            <<endl;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//Main.cpp
#include "stdafx.h"
#include <iostream>
#include "FlatRequest.h"
using namespace std;
 
int GetNumber(int min, int max);
int Menu();
 
int main()
{
    fstream BaseData("baseRequest.dat", ios::in | ios::out | ios::app);
    FlatRequest flat(BaseData);
    bool done=false;
    while (!done)
    {
        switch(Menu())
        {
        case 1: 
            for (int i=0; i<2; i++)
                {
                    flat.Show();
                };
        case 2:
            {
                done=true;
            };
        }
    }
    return 0;
};
 
int Menu()
{
    cout<<"////Main Menu////"<<endl
        <<"1- show requests"<<endl
        <<"2 - exit program"<<endl;
    return GetNumber(1,2);
};
 
int GetNumber(int min, int max)
{
    int number=min;
    while(true)
    {
        cin>>number;
        if((number>=min) && (number<=max) && (cin.peek() == '\n'))
        {
            break;
        }
        else
        {
            cout<<"Try again..."<<endl;
            cin.clear();
            while(cin.get() != '\n') {};
        };
    }
    return number;
};
Сама ошибка:
1>InitializeBuildStatus:
1> Обращение к "Debug\RegistrationRequests.unsuccessfulbuild".
1>ClCompile:
1> Для всех выходных данных обновления не требуется.
1> Main.cpp
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(860): error C2248: std::basic_ios<_Elem,_Traits>::basic_ios: невозможно обратиться к private член, объявленному в классе "std::basic_ios<_Elem,_Traits>"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ios(176): см. объявление "std::basic_ios<_Elem,_Traits>::basic_ios"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> Сообщение диагностики возникло в созданной компилятором функции "std::basic_istream<_Elem,_Traits>::basic_istream(const std::basic_istream<_Elem,_Traits> &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> FlatRequest.cpp
1> Создание кода...
1>
1>СБОЙ построения.
помогите пожалуйста, возможно я не могу передавать istream в качестве параметра конструктору класса...(

Добавлено через 20 минут
кому интересно, заменил в параметрах конструктора вместо FlatRequest::FlatRequest(istream file) на FlatRequest::FlatRequest(istream& file) и заработало, почему объяснить не смогу)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2013, 22:11     Чтение данных из файла
Посмотрите здесь:

Чтение данных из файла C++
C++ Чтение данных из файла
Чтение данных из файла C++
C++ чтение данных с файла.
C++ Чтение данных из файла
C++ Чтение данных из файла
Чтение данных из файла C++
Чтение данных из файла С++ C++

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

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

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