'programming/C_C++'에 해당되는 글 279건

  1. 2013.08.06 플래그 세팅

반응형

 

#define DEF_MODE_FLAG_1    0x1        /* 0000 0000 0000 0001 */
#define DEF_MODE_FLAG_2    0x2        /* 0000 0000 0000 0010 */
#define DEF_MODE_FLAG_4    0x4        /* 0000 0000 0000 0100 */
#define DEF_MODE_FLAG_8    0x8        /* 0000 0000 0000 1000 */
#define DEF_MODE_FLAG_10   0x10       /* 0000 0000 0001 0000 */
#define DEF_MODE_FLAG_20   0x20       /* 0000 0000 0010 0000 */
#define DEF_MODE_FLAG_40   0x40       /* 0000 0000 0100 0000 */
#define DEF_MODE_FLAG_80   0x80       /* 0000 0000 1000 0000 */
#define DEF_MODE_FLAG_100  0x100      /* 0000 0001 0000 0000 */
#define DEF_MODE_FLAG_200  0x200      /* 0000 0010 0000 0000 */
#define DEF_MODE_FLAG_400  0x400      /* 0000 0100 0000 0000 */
#define DEF_MODE_FLAG_800  0x800      /* 0000 1000 0000 0000 */
#define DEF_MODE_FLAG_1000 0x1000     /* 0001 0000 0000 0000 */
#define DEF_MODE_FLAG_2000 0x2000     /* 0010 0000 0000 0000 */
#define DEF_MODE_FLAG_4000 0x4000     /* 0100 0000 0000 0000 */
#define DEF_MODE_FLAG_8000 0x8000     /* 1000 0000 0000 0000 */

 

 

#define mode_isset(f,t)       ((f) & (t))

#define mode_setflag(f,t)     (f |= (t))
#define mode_unsetflag(f,t)   (f &= (~(t)))

 

(사용예시)

int flag = 0;

 

mode_setflag( flag, DEF_MODE_FLAG_1);
mode_setflag( flag, DEF_MODE_FLAG_2);

 

mode_unsetflag( flag, DEF_MODE_FLAG_1);
mode_unsetflag( flag, DEF_MODE_FLAG_2);

 

if( mode_isset(flag,  DEF_MODE_FLAG_2) ) {
    fprintf(stdout, "flag에 DEF_MODE_FLAG_2 세팅되어 있음 ");
}

 

반응형
Posted by 공간사랑
,