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

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

Войти
Регистрация
Восстановить пароль
 
Рейвол
2 / 2 / 0
Регистрация: 06.10.2012
Сообщений: 44
#1

не работает ф-я сохранения и загрузки - C++

22.05.2013, 22:56. Просмотров 331. Ответов 2
Метки нет (Все метки)

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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<dos.h>
using namespace std;
 
struct list
{
    int data;
    list *next;
    
}; list *first=0, *cur=0;
 
int IsEmpty()
{
    return first==NULL;
}
 
 
 
void AddFirst(int val)
{
    list *tmp;
    tmp=new list;
    tmp->data=val;
    tmp->next=first;
    first=cur=tmp;
}
 
 
 
void DeleteFirst()
{if(IsEmpty())
    {
        printf("\nСписок пуст. Удаление невозможно");
        getch();
        return;
    }
    list *tmp;
    tmp =new list;
    tmp=first->next;
    delete first;
    first=tmp;
 
}
 
void DeleteAll()
{
    if(IsEmpty())
    {
        printf("\nСписок пуст. Удаление невозможно");
        getch();
        return;
    }
    list *tmp;
    tmp=new list;
    while(first!=NULL)
    {DeleteFirst();
    first=first->next;
    }
}
 
void Print()
{
    if(IsEmpty())
    return;
    list *tmp;
    tmp=first;
    do
    {
        printf("%3i",tmp->data);
        tmp=tmp->next;
    }
    while(tmp!=NULL);
}
 
void SaveInFile(){                          /*сохранить в файл*/
    if(first){
        FILE *SaveFile;
        SaveFile = fopen("lab11.txt", "wb");
        if(SaveFile){
            list *tmp = first;
            do{
                int data = tmp->data;
                fwrite(&data, sizeof(data), 1, SaveFile);
                tmp = tmp->next;
            }while(tmp != first);
            cout << "List is saved!";
            fclose(SaveFile);
        }
        else cout << "Error!";
    }
    else cout << "List is empty!";
    getch();
}
void LoadFromFile(){                       /*прочитать из файла*/
    if(!first){
        FILE *LoadFile;
        LoadFile = fopen("lab11.txt", "rb");
        if(LoadFile){
             first = new list;
            first->next = first;
            int data = 0;
            fread(&data, sizeof(data), 1, LoadFile);
            first->data = data;
            list *cur = first;
            while(!feof(LoadFile)){
                list *New = new list;
                fread(&data, sizeof(data), 1, LoadFile);
                if(!feof(LoadFile)){
                    New->data = data;
                    New->next = first;
                    cur->next = New;
                    cur = New;
                }
            }
            cout << "File is loaded!";
        }
        else cout << "Error!";
    }
    else cout << "List did't empty!";
    getch();
}
 
int main()
{ 
    int q;
    char a;
    do
    {
       int delay(1000);
       int clrscr();
       setlocale(LC_ALL,"Russian");
      
        int val;
        Print();
        printf("\nНажмите:\n\t1 - добавление элемента в начало списка;\n\
    2 - удаление текущего єл-та;\n\t3 - сохранение эл-тов;\n\
    4 - удаление всех элементов;\n\t5 - загрузка эл-тов\
    Esc - Выход\n");
        a=getch();
        switch (a)
        {
            case '1':
                printf("\nВведите значение:\n");
                scanf("%i",&val);
                AddFirst(val);
            break;
            case '2':
                DeleteFirst();
            break;
            case '3':
                SaveInFile();
            break;
            case '4':
                DeleteAll();
            break;
            case '5':
                void LoadFromFile();
            break; 
            
        }
    }
    while (a!=27);
        return 0;
}
прошу помочь, не знаю как заставить работать прогу с сохранением и загрузкой из файла.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 22:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не работает ф-я сохранения и загрузки (C++):

Ошибка сохранения/загрузки объекта с файла - C++
Привет всем. Столкнулся с проблемой сохранения/загрузки объекта в/из файла. Вытащил из моего проекта куски кода, и создал новый проект,...

скажите пожалуйста код сохранения и загрузки каталога - C++
у меня есть к примеру эрэй int age = {17,24,45}; мне ктото посоветовал ofstream file; file.open(&quot;путь&quot;); file &lt;&lt; ***; ...

Ошибка загрузки и сохранения файла - Delphi FireMonkey
Здравствуйте. Возникла проблема, надеюсь поможете разобраться. При запуске приложения, отправляется get запрос для получения данных: ...

Единая схема сохранения/загрузки любых наследующих классов - C++ Builder
Есть класс A, который является базовым для классов B, C, D. Стоит задача сохранить объекты классов B, C, D в файл, а после чего загрузить...

Программа для сохранения и загрузки фрагментов растровых изображений - C#
Помогите, пожалуйста, исправить ошибку Сборка происходит успешно, но при запуске, выдаёт &quot;Необработанное исключение типа...

Программа на PERL для загрузки и сохранения файла на сервер - Perl
помогите, нужна программа на PERL для загрузки и сохранения файла на сервер(фото, текстовые данные). Заранее благодарен.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.05.2013, 01:25 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void SaveInFile()
{                          /*сохранить в файл*/
    if(first)
    {
        FILE *SaveFile;
        SaveFile = fopen("lab11.txt", "wb");
        if(SaveFile)
        {
            list *tmp = first;
            do
            {
                int data = tmp->data;
                fwrite(&data, sizeof(data), 1, SaveFile);
                tmp = tmp->next;
            } while(tmp);
            cout << "List is saved!";
            fclose(SaveFile);
        }
        else cout << "Error!";
    }
    else cout << "List is empty!";
    getch();
}
Рейвол
2 / 2 / 0
Регистрация: 06.10.2012
Сообщений: 44
23.05.2013, 01:41  [ТС] #3
alsav22, спасибо помогло
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2013, 01:41
Привет! Вот еще темы с ответами:

Не работает функция сохранения файла - C (СИ)
не могу разобраться в чем ошибка. void save (int a, int k) { int i; FILE *cfPtr; char *fname = &quot;C://textsave.txt&quot;; ...

Не работает кнопка сохранения в блокноте - C++ Builder
Кнопка сохранения не всегда срабатывает, и документ сохраняется в формате ФАЙЛ а не .txt В чем тут проблема?

Не работает макрос для сохранения; winxp - VBA
Макрос написан в excel 2010 на windows 7, суть макроса сохранить лист &quot;Save par&quot; в файл формата .par (просто текстовый файл) в выбранную...

Написал код для сохранения файла, а он не работает - Java SE
Написал код для сохранения файла, а он не работает. Ошибку никакую не высвечивает сама программа netbeans, но сохранить файл не где не могу...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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