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

Мусор при правильном считывание данных из файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Необходимо найти сумму, произведение, частное, разность, максимум и минимум двух чисел a и b http://www.cyberforum.ru/cpp-beginners/thread792700.html
Здравствуйте. Помогите пожалуйста решить. Задание. Необходимо найти сумму, произведение, частное, разность, максимум и минимум двух чисел a и b. Причем a и b - целые числа от -100 до 100...
C++ Считывание с файла Прогррамма неверно считывает числа с файла.вот кусок программы int mass_in_3(int *k,int *j) { int array; FILE *f1; f1=fopen("out1.txt","r"); for(int i=0; i < *k; ++i) ... http://www.cyberforum.ru/cpp-beginners/thread792699.html
C++ Не правильно выводит структуру через функцию
Вот код программы: #include <iostream> using namespace std; struct Worker { char fio; int date, code; float salary; };
C++ Значение типа "char *" нельзя присвоить сущности типа "LPWSTR"
значение типа "char *" нельзя присвоить сущности типа "LPWSTR" void AddColToListView(char *st, int sub, int size) { LVCOLUMN lvc; lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT |...
C++ cin.getline() http://www.cyberforum.ru/cpp-beginners/thread792671.html
Вопрос заключается в следующем, собственно программа отказывается выполнять cin.getline(... , ...); (... - аргументы) в начале своей функции, если не написть эту строку дважды, грубо говоря он...
C++ Проверьте программу Доброго дня всем. Стоит такая задача: Выполните задание 2 лабораторной работы 1, но размерности двумерного массива спросите у пользователя, а память под двумерный массив захватите динамически.... подробнее

Показать сообщение отдельно
KostyaKulakov
Заблокирован

Мусор при правильном считывание данных из файла - C++

22.02.2013, 21:37. Просмотров 379. Ответов 4
Метки (Все метки)

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include <iostream>
#include <fstream>
#include <string>
#include <string.h>
 
class Database
{
public:
    Database(){count = 0;}
 
    void  addRecord(char* name, char* lastname);
    char* getNameById(int id);
    char* getLastNameById(int id);
    int   getCount();
    void  save();
    void  load();
    void  printDatabase();
 
protected:
    int count;
    char* name[100];
    char* lastname[100];
};
 
int Database::getCount()
{
    return count;
}
 
void Database::addRecord(char* name, char* lastname)
{
    this->name[count] = name;
    this->lastname[count] = lastname;
    ++count;
}
 
char* Database::getNameById(int id)
{
    return name[id];
}
 
char* Database::getLastNameById(int id)
{
    return lastname[id];
}
 
void  Database::save()
{
    std::ofstream output;
    output.open("database.txt");
 
    if(!output.is_open())
    {
        std::cerr << "Error open database.txt" << std::endl;
        exit(1);
    }
    int count = getCount();
 
    for(int i=0; i < count; ++i)
        output << getNameById(i) << " " << getLastNameById(i) << std::endl;
 
    output.close();
 
}
 
void  Database::load()
{
    std::ifstream input;
    input.open("database.txt");
 
    if(!input.is_open())
    {
        std::cerr << "Error open database.txt" << std::endl;
        exit(1);
    }
 
    while(!input.eof())
    {
        std::string name;
        input >> name;
        std::string lastname;
        input >> lastname;
 
        char name_[100];
        char lastname_[100];
 
        strcpy(name_,name.c_str());
        strcpy(lastname_,lastname.c_str());
 
        addRecord(name_,lastname_);
    }
 
    input.close();
 
}
 
void Database::printDatabase()
{
    int count = getCount();
 
    for(int i=0; i < count; ++i)
        std::cout << getNameById(i) << " " << getLastNameById(i) << std::endl;
}
 
int main()
{
    Database server;
    
    server.load();
 
    /*
    server.addRecord("Kostya","Kulakov");
    server.addRecord("Lusya","Begunova");
    server.addRecord("Vanya","Frolov");
    server.addRecord("Alex","Sensei");
    */
    server.printDatabase();
 
    //server.save();
 
    return 0;
}
database.txt

C++
1
2
3
4
Kostya Kulakov
Lusya Begunova
Vanya Frolov
Alex Sensei
при считывание из файла, заносится мусор, почему?

ф-ця Database::load()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru