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

Создать файл с настроками и считать их - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Преобразование типов, как понять фразу из учебника http://www.cyberforum.ru/cpp-beginners/thread1502530.html
В книжке "Язык программирования C++" (Липпман) есть такой абзац. Не могу разобраться остаток от деления по модулю каких чисел берется? Остаток от деления по модулю 256 это как? Что на что делится? Если объекту беззнакового типа присваивается значение не из его диапазона, результатом будет остаток от деления по модулю значения, которые способен содержать тип назначения. Например, 8-битовый тип...
C++ Видимость переменных Ребят такой вопрос, Есть у меня класс А и наследуемый от него класс B, в классе B есть паблик переменная C Можно ли вызвать эту переменну в классе родителе, т.е. в А? http://www.cyberforum.ru/cpp-beginners/thread1502526.html
C++ Удаление слов из массива
Всем доброго времени суток. Возник вопрос, есть считывание из файла в массив, нужно в текущей сессии не показывать уже показанные слова, то есть если слово "Магазин" выводилось, то больше его не выводить. srand(time(0)); Speech.open("Speech.txt"); Answers.open("Answers.txt"); SpeechCode.open("SpeechCode.txt"); while (!Speech.eof()) { getline(Speech, strSpeech, ' ');...
Как узнать имя exe зная его id (WinApi,c++) C++
Пишу программу отслеживающие активность пользователя. Проблема стоит в том что не могу найти функций которая по id процесса может вывести имя exe как в диспетчере задач нашел только как выводить путь до exe, сам системный администратор так что в программирований еще слабо разбираюсь поэтому прошу писать развернуто с подробностями.Заранее спасибо:yes: int WinMain(HINSTANCE...
C++ Создать двунаправленный список из 20 элементов, которые имеют такие поля информационной части: http://www.cyberforum.ru/cpp-beginners/thread1502436.html
Написать программу, выполняющую следующую работу: Создать двунаправленный список из 20 элементов, которые имеют такие поля информационной части: целое (случайное); действительное (с клавиатуры). Обеспечить введение в список случайных данных. Создать процедуру вывода информации из списка в прямом и обратном порядках. Процедура принимает в качестве параметра адреса первого и последнего...
C++ Перенос кода на C++11 Здравствуйте! Я столкнулся со следующей проблемой: есть проект под Android, большая часть которого написана на С++. В команде разработчиков возникло желание использовать возможности нового стандарта. После добавления соответствующих флагов (-std=gnu++11) проект собрался и даже запустился. Однако, возник вопрос - насколько безопасны подобные изменения, могут ли всплыть какие-нибудь баги?... подробнее

Показать сообщение отдельно
Frukt XD
0 / 0 / 0
Регистрация: 17.07.2015
Сообщений: 11
21.07.2015, 13:42     Создать файл с настроками и считать их
Есть кусок программы, чтение ее настроек функция:
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
int settings(int *life_time, int *cur_yea, int *cur_mon, int *cur_day)
{
    char slovo[100];
    float fail_long = 0;
    int char_vol = 0;
 
    retime();
    ifstream settings_file("settings.txt");
    if (!settings_file.is_open())
    {
        log("Failed\nLoad default settings");
        create();
        
    }
    settings_file.seekg(0);//переход в начало файла 
    while (char_vol!=4)
    {
        settings_file >> slovo;
        char_vol++;
    }
    settings_file.seekg(0, ios::end);
    fail_long = settings_file.tellg();
 
    if (fail_long == 0 || char_vol != 4)
    {
        return 0;
    }
 
    settings_file.seekg(4);
    settings_file >> *life_time;
    settings_file >> *cur_day;
    settings_file >> *cur_mon;
    settings_file >> *cur_yea;
 
 
    settings_file.close();
    return 1;
}
основная задача этой функции считать настройки из файла settings.txt ,если она его не находит то создает его по зарание заданному шаблону

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
void create()
{
    int parametrs[4];
    parametrs[0] = 5;
    parametrs[1] = t_m->tm_mday + 7;
    if (parametrs[1]>30)
    {
        parametrs[1] - 30;
        parametrs[2] = t_m->tm_mon + 1;
    }
    else
    {
        parametrs[2] = t_m->tm_mon;
    }
    parametrs[3] = t_m->tm_year;
 
    ofstream fout("settings.txt"); // создаём объект класса ofstream для записи и связываем его с файлом cppstudio.txt
    fout <<"0\n";
    for (int i = 0; i < 4; i++)
    {
        if (i == 3)
        {
            fout << parametrs[i]; // запись строки в файл
        }
        else
        {
            fout << parametrs[i] << " "; // запись строки в файл
        }
 
    }
    fout.close(); // закрываем файл
 
}
Вид файла settings.txt
0
5 28 6 115

Имеется 2 проблемы
1)Если файл не найден , программа создает его но не читает. А читает только после перезапуска программы.
2)Не знаю как сделать так чтобы не считывая первую строчку , программа переходила на 2ую строку и считывала ее по словам т.е до пробела
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru