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

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

Войти
Регистрация
Восстановить пароль
 
dimakozyr
158 / 25 / 1
Регистрация: 17.08.2013
Сообщений: 467
#1

Сохранение переменной в файл - C++

11.10.2013, 10:30. Просмотров 380. Ответов 4
Метки нет (Все метки)

Переменную totalCounter, считываю из файла при старте программы и сохраняю файл при закрытии.
Конструктор работает нормально, на экран выводится значение, сохраненное в файл.
Не если раскомментировать деструктор, то выводится "-85899.."

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 <fstream>
#include <iostream>
 
class C_Events {
  public:
      C_Events() : totalCounter(loadTotalCounter()) {}    
      ~C_Events() { saveTotalCounter(); }
 
    inline int loadTotalCounter() {
        std::ifstream infile("data/totalScore.txt");
        infile >> totalCounter;
        return totalCounter;
    }
 
    inline void saveTotalCounter() {
        std::ofstream outfile("data/totalScore.txt");
        outfile << totalCounter;
    }   
 
  private:
 
    int totalCounter;
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2013, 10:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сохранение переменной в файл (C++):

Сохранение переменной в файл - C++
Есть глобальная переменная static char Pass; Есть поток, в цикле которого эта переменная меняется раз в примерно 0.5 секунды. В мейне...

Сохранение значения переменной при наследовании - C++
Есть ли способ сохранить полученное значение переменной count в дочернем классе B после наследования? Небольшой образец ситуации: ...

Файл: При сохранение в файл big100.txt в блокноте отображаются иероглифы, почему? - C++
При сохранение в файл big100.txt в блокноте отображаются иероглифы интересно почему #include&lt;iostream&gt; #include&lt;cstdlib&gt; using...

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

Сохранение в файл - C++
Здравствуйте! Вообщем у меня такая задача: даны адресса с 77.106.0.0 до 77.106.225.225, нужно перебрать все возможные комбинации, т.е...

сохранение в файл - C++
можете подсказать как сохранять в файл вектор классов, есть три класса class defender private: int a; string b; class...

4
calculon
14 / 14 / 3
Регистрация: 18.07.2012
Сообщений: 79
11.10.2013, 10:44 #2
Это связано с тем, что некорректно написан конструктор и число не загружается. В файл сохраняется случайное значение. Так должно заработать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class C_Events {
  public:
      C_Events() : totalCounter(0) { loadTotalCounter(); }    
      ~C_Events() { saveTotalCounter();}
 
    inline void loadTotalCounter() {
        std::ifstream infile("score.txt");
        infile >> totalCounter;
    }
 
    inline void saveTotalCounter() {
        std::ofstream outfile("score.txt");
        outfile << totalCounter;
    }   
 
  private:
 
    int totalCounter;
};
1
dimakozyr
158 / 25 / 1
Регистрация: 17.08.2013
Сообщений: 467
11.10.2013, 10:56  [ТС] #3
Я так уже пробовал делать. В файл сам записал значение "5", если деструктор
закомментить, то 5 загружается, если раскоментить, то отображается -85899..

И это значение (-85899..) в файл не сохраняется, так 5 и остается
0
calculon
14 / 14 / 3
Регистрация: 18.07.2012
Сообщений: 79
11.10.2013, 11:08 #4
Чудес не бывает. Деструктор никак не влияет на то, что происходит в конструкторе. В десятой студии, например, код работает.
1
dimakozyr
158 / 25 / 1
Регистрация: 17.08.2013
Сообщений: 467
11.10.2013, 11:40  [ТС] #5
Как оказалось, тут дело в другом. Есть метод StartPoint, который вызывает методы первой и второй сцены игры.
Работа с файлами происходит во втором методе. Если первый закомментировать, то все работает, а иначе выводит -85899..

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
void C_GameCicle::startPoint() {
     callFunctionsForScene_1();
     callFunctionsForScene_2();
}
 
void C_GameCicle::callFunctionsForScene_1() {
    o_loadImages_C_GameCicle.loadImagesScene_1();
    o_drawScene_C_GameCicle.drawScene_1
        (&o_initSurfaces_C_GameCicle, &o_loadImages_C_GameCicle);
    o_sceneElements_C_GameCicle.scene_1_events
        (&o_initSurfaces_C_GameCicle, &o_loadImages_C_GameCicle);
    o_loadImages_C_GameCicle.quitImagesScene_1();   
}
 
void C_GameCicle::callFunctionsForScene_2() {
    o_loadImages_C_GameCicle.loadImagesScene_2();
    o_loadImages_C_GameCicle.ttfInit();
 
    o_drawScene_C_GameCicle.drawScene_2
        (&o_initSurfaces_C_GameCicle, &o_loadImages_C_GameCicle);
    o_drawScene_C_GameCicle.drawBeaver
        (&o_initSurfaces_C_GameCicle, &o_loadImages_C_GameCicle);
    o_sceneElements_C_GameCicle.scene_2_events
        (&o_initSurfaces_C_GameCicle, &o_loadImages_C_GameCicle);
 
    o_loadImages_C_GameCicle.ttfQuit();
    o_loadImages_C_GameCicle.quitImagesScene_2();
}
Добавлено через 12 минут
Разобрался, надо было еще в конструктор с параметрами этот метод вставить
0
11.10.2013, 11:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2013, 11:40
Привет! Вот еще темы с ответами:

сохранение в файл - C++
Всем привет. Люди добрые помогите пж сохранить введенный результат в файл. #include &lt;iostream.h&gt; #include &lt;stdio.h&gt; #include...

Сохранение в файл - C++
#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;sstream&gt; #include &lt;fstream&gt; using...

Сохранение картинок в файл - C++
Здравствуйте! В моей программе возникла потребность сохранять картинки в файл таким образом чтобы: 1. Пользователь не мог его...

Сохранение структуры в файл - C++
Подскажите если дана структура из трех полей как сохранить ее в файл и загрузить обратно из файла на дисплей. Хотя бы ссылку на что нибудь...


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

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

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