проверка флага (в С)

Модератор: Модераторы разделов

Аватара пользователя
fatboy
Сообщения: 156
ОС: Zenwalk Linux, Windows XP

проверка флага

Сообщение fatboy »

Добрый день. Подскажите, пожалуйста, как проверить установлен ли флаг в интовом поле. Т.е. если, скажем, системный вызов open() завернут в функцию-обертку и флаги для него передаются через параметр обертки, а потом их нужно парсить, как установлен ли флаг O_TRUNC?
Я думал что

Код: Выделить всё

int wrapper( int flags ){
...
    if( O_TRUNC & flags ){...}
...
}

Но такой вариант не дает результата. Как это можно решить? Спасибо.
Zenwalk 4.0
TOSHIBA Satellite A100
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: проверка флага

Сообщение serzh-z »

fatboy писал(а):
31.07.2008 14:51
не дает результата
Что значит "не даёт"? Именно так и проверяются включенные, в целом, биты.
Спасибо сказали:
Аватара пользователя
fatboy
Сообщения: 156
ОС: Zenwalk Linux, Windows XP

Re: проверка флага

Сообщение fatboy »

Оказалось что до этого if()'а дело не доходило - не давал внешний if(). Мои извинения за беспокойство.
Zenwalk 4.0
TOSHIBA Satellite A100
Спасибо сказали: