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

флаг сбрасывается - C++

Восстановить пароль Регистрация
 
D1garch
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 27
22.08.2012, 12:37     флаг сбрасывается #1
Всем доброго времени суток!
Столкнулся с проблемой: пытаюсь сделать флаг, что бы при значении true функция выполнялась, при false - нет.

вот собственно код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int ZOG(char* text)
{
    bool flag = false;
    char* faddress = "C:\\temp\\ZOG.txt";
    int size = strlen(text);
    if  (flag = true)  //вот тут flag меняется обратно в true
    {   
        ofstream ofs(faddress, ios::app);
        ofs.close();
        ofs.open(faddress, ios::app);
        ofs.write(text, size);
        ofs.close();
        return 0;
    }   
}
Когда я делаю дебаг, вначале flag принимает значение false, а когда доходит до if, он меняется в true. не пойму никак в чем проблема.

Заранее примного благодарен!


UPD: понял в чем проблема))

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int ZOG(char* text)
{
    bool flag = false;
    char* faddress = "C:\\temp\\ZOG.txt";
    int size = strlen(text);
    if  (flag == true)  //знак = надо было заменить на ==
    {   
        ofstream ofs(faddress, ios::app);
        ofs.close();
        ofs.open(faddress, ios::app);
        ofs.write(text, size);
        ofs.close();
        return 0;
    }   
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2012, 12:37     флаг сбрасывается
Посмотрите здесь:

C++ Не реагирует на флаг
Сбрасывается значение переменной C++
Подскажите, где я ошибся. Программа принимает ввод и сбрасывается C++
C++ Нарисовать флаг России C++
C++ Флаг переполнения
C++ Сбрасывается форматирование std::stringstream при очистке потока
C++ Почему если флаг состояния потока eof поднят, то флаг good опущен?
Флаг skipws C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
22.08.2012, 12:42     флаг сбрасывается #2
конечно меняется. = - это присвоение. а проверка на равно выглядит так: ==
b_kasenov47
14 / 14 / 1
Регистрация: 28.07.2012
Сообщений: 57
22.08.2012, 12:43     флаг сбрасывается #3
В С++ оператор "=" - это оператор присваивания. Надо if (flag == true) или же просто if (flag)

Добавлено через 36 секунд
чуток не успел)))
Yandex
Объявления
22.08.2012, 12:43     флаг сбрасывается
Ответ Создать тему
Опции темы

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