您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ Com_Filter函数代码示例

51自学网 2021-06-01 20:12:29
  C++
这篇教程C++ Com_Filter函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中Com_Filter函数的典型用法代码示例。如果您正苦于以下问题:C++ Com_Filter函数的具体用法?C++ Com_Filter怎么用?C++ Com_Filter使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了Com_Filter函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: Cmd_List_f

/*============Cmd_List_f============*/void Cmd_List_f(void){	cmd_function_t *cmd;	int            i = 0;	char           *match;	if (Cmd_Argc() > 1)	{		match = Cmd_Argv(1);	}	else	{		match = NULL;	}	for (cmd = cmd_functions ; cmd ; cmd = cmd->next)	{		if (match && !Com_Filter(match, cmd->name, qfalse))		{			continue;		}		Com_Printf("%s/n", cmd->name);		i++;	}	Com_Printf("%i commands/n", i);}
开发者ID:ptitSeb,项目名称:etlegacy,代码行数:32,


示例2: Sys_Error

/** * @brief Opens the directory and returns the first file that matches our searchrules * @sa Sys_FindNext * @sa Sys_FindClose */char *Sys_FindFirst (const char *path, unsigned musthave, unsigned canhave){    struct dirent *d;    char *p;    if (fdir)        Sys_Error("Sys_BeginFind without close");    Q_strncpyz(findbase, path, sizeof(findbase));    if ((p = strrchr(findbase, '/')) != NULL) {        *p = 0;        Q_strncpyz(findpattern, p + 1, sizeof(findpattern));    } else        Q_strncpyz(findpattern, "*", sizeof(findpattern));    if (Q_streq(findpattern, "*.*"))        Q_strncpyz(findpattern, "*", sizeof(findpattern));    if ((fdir = opendir(findbase)) == NULL)        return NULL;    while ((d = readdir(fdir)) != NULL) {        if (!*findpattern || Com_Filter(findpattern, d->d_name)) {            if (CompareAttributes(findbase, d->d_name, musthave, canhave)) {                Com_sprintf(findpath, sizeof(findpath), "%s/%s", findbase, d->d_name);                return findpath;            }        }    }    return NULL;}
开发者ID:Qazzian,项目名称:ufoai_suspend,代码行数:37,


示例3: Cmd_List_f

/*============Cmd_List_f============*/void Cmd_List_f (void){	cmd_function_t	*cmd = NULL;	int				i, j;	char			*match = NULL;	if ( Cmd_Argc() > 1 ) {		match = Cmd_Argv( 1 );	}	for ( cmd=cmd_functions, i=0, j=0;		cmd;		cmd=cmd->next, i++ )	{		if ( !cmd->name || (match && !Com_Filter( match, cmd->name, qfalse )) )			continue;		Com_Printf (" %s/n", cmd->name);		j++;	}	Com_Printf ("/n%i total commands/n", i);	if ( i != j )		Com_Printf( "%i matching commands/n", j );}
开发者ID:Aura15,项目名称:OpenJK,代码行数:30,


示例4: Cvar_List_f

/*============Cvar_List_f============*/void Cvar_List_f( void ) {	cvar_t *var = NULL;	int i = 0;	char *match = NULL;	if ( Cmd_Argc() > 1 )		match = Cmd_Argv( 1 );	for ( var=cvar_vars, i=0;		var;		var=var->next, i++ )	{		if ( !var->name || (match && !Com_Filter( match, var->name, qfalse )) )			continue;		if (var->flags & CVAR_SERVERINFO)	Com_Printf( "S" );	else Com_Printf( " " );		if (var->flags & CVAR_SYSTEMINFO)	Com_Printf( "s" );	else Com_Printf( " " );		if (var->flags & CVAR_USERINFO)		Com_Printf( "U" );	else Com_Printf( " " );		if (var->flags & CVAR_ROM)			Com_Printf( "R" );	else Com_Printf( " " );		if (var->flags & CVAR_INIT)			Com_Printf( "I" );	else Com_Printf( " " );		if (var->flags & CVAR_ARCHIVE)		Com_Printf( "A" );	else Com_Printf( " " );		if (var->flags & CVAR_LATCH)		Com_Printf( "L" );	else Com_Printf( " " );		if (var->flags & CVAR_CHEAT)		Com_Printf( "C" );	else Com_Printf( " " );		if (var->flags & CVAR_USER_CREATED)	Com_Printf( "?" );	else Com_Printf( " " );		Com_Printf( S_COLOR_WHITE " %s = " S_COLOR_GREY "/"" S_COLOR_WHITE "%s" S_COLOR_GREY "/"" S_COLOR_WHITE, var->name, var->string );		if ( var->latchedString )			Com_Printf( ", latched = " S_COLOR_GREY "/"" S_COLOR_WHITE "%s" S_COLOR_GREY "/"" S_COLOR_WHITE, var->latchedString );		Com_Printf( "/n" );	}	Com_Printf( "/n%i total cvars/n", i );	if ( i != cvar_numIndexes )		Com_Printf( "%i cvar indexes/n", cvar_numIndexes );}
开发者ID:TheSil,项目名称:WhoracleMod,代码行数:40,


示例5: Cmd_List_f

/*============Cmd_List_f============*/static void Cmd_List_f( void ) {	cmd_function_t  *cmd;	int i;	char            *match;	if ( Cmd_Argc() > 1 ) {		match = Cmd_Argv( 1 );	} else {		match = NULL;	}	i = 0;	for ( cmd = cmd_functions ; cmd ; cmd = cmd->next ) {		if ( (match && !Com_Filter( match, (char*)cmd->name, qfalse ))		|| Cmd_GetInvokerPower() < cmd->minPower || ((cmd->minPower == 0) && Cmd_GetInvokerPower() != 100))		{			if(!Auth_CanPlayerUseCommand(Cmd_GetInvokerClnum(), (char*)cmd->name))			{				continue;			}		}		Com_Printf( "%s/n", cmd->name );		i++;	}	Com_Printf( "%i commands/n", i );}
开发者ID:D4edalus,项目名称:CoD4x_Server,代码行数:31,


示例6: Com_FilterPath

/*============Com_FilterPath============*/int Com_FilterPath(const char *filter, const char *name, int casesensitive){	int i;	char new_filter[MAX_QPATH];	char new_name[MAX_QPATH];	for (i = 0; i < MAX_QPATH-1 && filter[i]; i++) {		if ( filter[i] == '//' || filter[i] == ':' ) {			new_filter[i] = '/';		}		else {			new_filter[i] = filter[i];		}	}	new_filter[i] = '/0';	for (i = 0; i < MAX_QPATH-1 && name[i]; i++) {		if ( name[i] == '//' || name[i] == ':' ) {			new_name[i] = '/';		}		else {			new_name[i] = name[i];		}	}	new_name[i] = '/0';	return Com_Filter(new_filter, new_name, casesensitive);}
开发者ID:Aura15,项目名称:OpenJK,代码行数:31,


示例7: Cvar_List_f

/*============Cvar_List_f============*/void Cvar_List_f( void ) {	cvar_t	*var;	int		i;	char	*match;	if ( Cmd_Argc() > 1 ) {		match = Cmd_Argv( 1 );	} else {		match = NULL;	}	i = 0;	for (var = cvar_vars ; var ; var = var->next, i++)	{		if (match && !Com_Filter(match, var->name, qfalse)) continue;		if (var->flags & CVAR_SERVERINFO) {			Com_Printf("S");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_USERINFO) {			Com_Printf("U");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_ROM) {			Com_Printf("R");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_INIT) {			Com_Printf("I");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_ARCHIVE) {			Com_Printf("A");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_LATCH) {			Com_Printf("L");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_CHEAT) {			Com_Printf("C");		} else {			Com_Printf(" ");		}		Com_Printf (" %s /"%s/"/n", var->name, var->string);	}	Com_Printf ("/n%i total cvars/n", i);	Com_Printf ("%i cvar indexes/n", cvar_numIndexes);}
开发者ID:ZdrytchX,项目名称:Lolards,代码行数:63,


示例8: Svcmd_EntityList_f

void  Svcmd_EntityList_f(){    int       entityNum;    int i;    int currentEntityCount;    gentity_t *displayedEntity;    char* filter;    displayedEntity = g_entities;    if(trap_Argc() > 1)    {        filter = ConcatArgs( 1 );    }    else    {        filter = nullptr;    }    for ( entityNum = 0, currentEntityCount = 0; entityNum < level.num_entities; entityNum++, displayedEntity++ )    {        if ( !displayedEntity->inuse )        {            continue;        }        currentEntityCount++;        if(filter && !Com_Filter(filter, displayedEntity->classname, false) )        {            for (i = 0; i < MAX_ENTITY_ALIASES && displayedEntity->names[i]; ++i)            {                if( Com_Filter(filter, displayedEntity->names[i], false) )                {                    PrintEntityOverviewLine( displayedEntity );                    break;                }            }            continue;        }        PrintEntityOverviewLine( displayedEntity );    }    G_Printf( "A total of %i entities are currently in use./n", currentEntityCount);}
开发者ID:BlueMustache,项目名称:Unvanquished,代码行数:44,


示例9: Cmd_List_f

static void Cmd_List_f(){	const char* match = (Cmd_Argc() > 1) ? Cmd_Argv(1) : NULL;	int i = 0;	for (const cmd_function_t* cmd = cmd_functions; cmd; cmd = cmd->next) {		if (match && !Com_Filter(match, cmd->name))			continue;		Com_Printf( "%s/n", cmd->name );		++i;	}	Com_Printf( "%i commands/n", i );}
开发者ID:ShaneIsley,项目名称:challengeq3,代码行数:14,


示例10: while

/** * @brief Returns the next file of the already opened directory (Sys_FindFirst) that matches our search mask * @sa Sys_FindClose * @sa Sys_FindFirst * @sa static var findpattern */char *Sys_FindNext (unsigned musthave, unsigned canhave){    struct dirent *d;    if (fdir == NULL)        return NULL;    while ((d = readdir(fdir)) != NULL) {        if (!*findpattern || Com_Filter(findpattern, d->d_name)) {            if (CompareAttributes(findbase, d->d_name, musthave, canhave)) {                Com_sprintf(findpath, sizeof(findpath), "%s/%s", findbase, d->d_name);                return findpath;            }        }    }    return NULL;}
开发者ID:Qazzian,项目名称:ufoai_suspend,代码行数:22,


示例11: Cmd_AliasList_f

/*============Cmd_AliasList_f============*/void Cmd_AliasList_f (void){	cmd_alias_t	*alias;	int			i;	char		*match;	if (Cmd_Argc() > 1)		match = Cmd_Argv( 1 );	else		match = NULL;	i = 0;	for (alias = cmd_aliases; alias; alias = alias->next)	{		if (match && !Com_Filter(match, alias->name, false))			continue;		Com_Printf ("%s ==> %s/n", alias->name, alias->exec);		i++;	}	Com_Printf ("%i aliases/n", i);}
开发者ID:TheDushan,项目名称:OpenWolf,代码行数:26,


示例12: Sys_ListFilteredFiles

void Sys_ListFilteredFiles (const char *basedir, const char *subdirs, const char *filter, linkedList_t **list){    char search[MAX_OSPATH], newsubdirs[MAX_OSPATH];    char filename[MAX_OSPATH];    DIR *directory;    struct dirent *d;    struct stat st;    if (subdirs[0] != '/0') {        Com_sprintf(search, sizeof(search), "%s/%s", basedir, subdirs);    } else {        Com_sprintf(search, sizeof(search), "%s", basedir);    }    if ((directory = opendir(search)) == NULL)        return;    while ((d = readdir(directory)) != NULL) {        Com_sprintf(filename, sizeof(filename), "%s/%s", search, d->d_name);        if (stat(filename, &st) == -1)            continue;        if (st.st_mode & S_IFDIR) {            if (Q_strcasecmp(d->d_name, ".") && Q_strcasecmp(d->d_name, "..")) {                if (subdirs[0] != '/0') {                    Com_sprintf(newsubdirs, sizeof(newsubdirs), "%s/%s", subdirs, d->d_name);                } else {                    Com_sprintf(newsubdirs, sizeof(newsubdirs), "%s", d->d_name);                }                Sys_ListFilteredFiles(basedir, newsubdirs, filter, list);            }        }        Com_sprintf(filename, sizeof(filename), "%s/%s", subdirs, d->d_name);        if (!Com_Filter(filter, filename))            continue;        LIST_AddString(list, filename);    }    closedir(directory);}
开发者ID:Qazzian,项目名称:ufoai_suspend,代码行数:40,


示例13: Cmd_ListPower_f

static void Cmd_ListPower_f() {	cmd_function_t  *cmd;	int i, hidden, j, l;	char            *match;	if ( Cmd_Argc() > 1 ) {		match = Cmd_Argv( 1 );	} else {		match = NULL;	}	i = 0;	hidden = 0;	for ( cmd = cmd_functions ; cmd ; cmd = cmd->next ) {		if ( (match && !Com_Filter( match, (char*)cmd->name, qfalse ))) {			continue;		}		if(cmd->minPower == 100 || cmd->minPower == 0){			hidden++;			continue;		}		Com_Printf ("%s", cmd->name );		l = 24 - strlen(cmd->name);		j = 0;		do		{			Com_Printf (" ");			j++;		} while(j < l);		Com_Printf( "%d/n", cmd->minPower );		i++;	}	Com_Printf( "/n%i commands with specified power settings are shown/n", i );	Com_Printf( "%i commands are hidden because the required power level for those commands is set to 100 or 0/n", hidden );	Com_Printf( "Type cmdlist to get a complete list of all commands/n");}
开发者ID:BraXi,项目名称:CoD4X18-Server,代码行数:40,


示例14: Cmd_List_f

/*============Cmd_List_f============*/void Cmd_List_f (void){	cmd_function_t	*cmd;	int				i;	char			*match;	if ( Cmd_Argc() > 1 ) {		match = Cmd_Argv( 1 );	} else {		match = NULL;	}	i = 0;	for ( int c = 0; c < CMD_MAX_NUM; ++c )	{		cmd = cmd_functions + c;		if (match && !Com_Filter(match, cmd->name, qfalse)) continue;		Com_Printf ("%s/n", cmd->name);		i++;	}	Com_Printf ("%i commands/n", i);}
开发者ID:bdwakefield,项目名称:OpenJK,代码行数:27,


示例15: Sys_ListFilteredFiles

void Sys_ListFilteredFiles (const char* basedir, const char* subdirs, const char* filter, linkedList_t** list){	char search[MAX_OSPATH], newsubdirs[MAX_OSPATH];	char filename[MAX_OSPATH];	int findhandle;	struct _wfinddata_t findinfo;	if (subdirs[0] != '/0') {		Com_sprintf(search, sizeof(search), "%s//%s//*", basedir, subdirs);	} else {		Com_sprintf(search, sizeof(search), "%s//*", basedir);	}	Sys_Utf8ToUtf16(search, wfindpath, lengthof(wfindpath));	findhandle = _wfindfirst(wfindpath, &findinfo);	if (findhandle == -1)		return;	do {		Sys_Utf16ToUtf8(findinfo.name, findname, sizeof(findname));		if (findinfo.attrib & _A_SUBDIR) {			if (Q_strcasecmp(findname, ".") && Q_strcasecmp(findname, "..")) {				if (subdirs[0] != '/0') {					Com_sprintf(newsubdirs, sizeof(newsubdirs), "%s//%s", subdirs, findname);				} else {					Com_sprintf(newsubdirs, sizeof(newsubdirs), "%s", findname);				}				Sys_ListFilteredFiles(basedir, newsubdirs, filter, list);			}		}		Com_sprintf(filename, sizeof(filename), "%s//%s", subdirs, findname);		if (!Com_Filter(filter, filename))			continue;		LIST_AddString(list, filename);	} while (_wfindnext(findhandle, &findinfo) != -1);	_findclose(findhandle);}
开发者ID:stavrossk,项目名称:ufoai,代码行数:38,


示例16: Com_FilterAfterStar

/** * @brief Like Com_Filter, but match PATTERN against any final segment of TEXT. */static int Com_FilterAfterStar (const char* pattern, const char* text){	register const char* p = pattern, *t = text;	register char c, c1;	while ((c = *p++) == '?' || c == '*')		if (c == '?' && *t++ == '/0')			return 0;	if (c == '/0')		return 1;	if (c == '//')		c1 = *p;	else		c1 = c;	while (1) {		if ((c == '[' || *t == c1) && Com_Filter(p - 1, t))			return 1;		if (*t++ == '/0')			return 0;	}}
开发者ID:Isaacssv552,项目名称:ufoai,代码行数:27,


示例17: Cvar_List_f

static void Cvar_List_f( void ){	const char* match = (Cmd_Argc() > 1) ? Cmd_Argv(1) : NULL;	int i = 0;	for (const cvar_t* var = cvar_vars; var; var = var->next, ++i)	{		if (match && !Com_Filter(match, var->name))			continue;		Com_Printf( (var->flags & CVAR_SERVERINFO) ? "S" : " " );		Com_Printf( (var->flags & CVAR_USERINFO) ? "U" : " " );		Com_Printf( (var->flags & CVAR_ROM) ? "R" : " " );		Com_Printf( (var->flags & CVAR_INIT) ? "I" : " " );		Com_Printf( (var->flags & CVAR_ARCHIVE) ? "A" : " " );		Com_Printf( (var->flags & CVAR_LATCH) ? "L" : " " );		Com_Printf( (var->flags & CVAR_CHEAT) ? "C" : " " );		Com_Printf(" %s /"%s/"/n", var->name, var->string);	}	Com_Printf("/n%i total cvars/n", i);	Com_Printf("%i cvar indexes/n", cvar_numIndexes);}
开发者ID:DaTa-,项目名称:cnq3x,代码行数:24,


示例18: Cvar_ListModified_f

/*============Cvar_ListModified_f============*/void Cvar_ListModified_f( void ) {	cvar_t	*var;	int		totalModified;	char	*value;	char	*match;	if ( Cmd_Argc() > 1 ) {		match = Cmd_Argv( 1 );	} else {		match = NULL;	}	totalModified = 0;	for (var = cvar_vars ; var ; var = var->next)	{		if ( !var->name || !var->modificationCount )			continue;		value = var->latchedString ? var->latchedString : var->string;		if ( !strcmp( value, var->resetString ) )			continue;		totalModified++;		if (match && !Com_Filter(match, var->name, qfalse))			continue;		if (var->flags & CVAR_SERVERINFO) {			Com_Printf("S");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_SYSTEMINFO) {			Com_Printf("s");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_USERINFO) {			Com_Printf("U");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_ROM) {			Com_Printf("R");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_INIT) {			Com_Printf("I");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_ARCHIVE) {			Com_Printf("A");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_LATCH) {			Com_Printf("L");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_CHEAT) {			Com_Printf("C");		} else {			Com_Printf(" ");		}		if (var->flags & CVAR_USER_CREATED) {			Com_Printf("?");		} else {			Com_Printf(" ");		}		Com_Printf (" %s /"%s/", default /"%s/"/n", var->name, value, var->resetString);	}	Com_Printf ("/n%i total modified cvars/n", totalModified);}
开发者ID:a-detiste,项目名称:iortcw,代码行数:83,


示例19: Cvar_List_f

/*============Cvar_List_f============*/void Cvar_List_f( void ){    cvar_t   *var;    int      i = 0;    char     *match = NULL;    qboolean raw = qfalse;    if ( Cmd_Argc() > 1 )    {        match = Cmd_Argv( 1 );        if ( !Q_stricmp( match, "-raw" ) )        {            raw = qtrue;            match = ( Cmd_Argc() > 2 ) ? Cmd_Argv( 2 ) : NULL;        }    }    for ( var = cvar_vars; var; var = var->next, i++ )    {        if ( match && !Com_Filter( match, var->name, qfalse ) )        {            continue;        }        if ( var->flags & CVAR_SERVERINFO )        {            Com_Printf( "S" );        }        else        {            Com_Printf( " " );        }        if ( var->flags & CVAR_SYSTEMINFO )        {            Com_Printf( "s" );        }        else        {            Com_Printf( " " );        }        if ( var->flags & CVAR_USERINFO )        {            Com_Printf( "U" );        }        else        {            Com_Printf( " " );        }        if ( var->flags & CVAR_ROM )        {            Com_Printf( "R" );        }        else        {            Com_Printf( " " );        }        if ( var->flags & CVAR_INIT )        {            Com_Printf( "I" );        }        else        {            Com_Printf( " " );        }        if ( var->flags & CVAR_ARCHIVE )        {            Com_Printf( "A" );        }        else        {            Com_Printf( " " );        }        if ( var->flags & CVAR_LATCH )        {            Com_Printf( "L" );        }        else        {            Com_Printf( " " );        }        if ( var->flags & CVAR_CHEAT )        {            Com_Printf( "C" );        }        else        {            Com_Printf( " " );//.........这里部分代码省略.........
开发者ID:AlienHoboken,项目名称:Unvanquished,代码行数:101,


示例20: sql_eval

cellInfo_t sql_eval( sqlInfo_t *db, Expr expr, tableInfo_t * table, cellInfo_t * row, int index, int total, sqlData_t * params, cellInfo_t * aggregate ){	value_t		stack[ 64 ];	int sp;	int i;	static char	buffer[ 16384 ];		// FIX ME: this is the source of bugs	static int size = 0;	int top = size;	for ( i=0,sp=0; expr[ i ] != OP_END; ) {		op_t op = READ_OP;		switch( op ) {			case OP_PUSH_INTEGER:		stack[ sp++ ].i = READ_INT;								break;			case OP_PUSH_STRING:		stack[ sp++ ].s = READ_STRING;							break;			case OP_PUSH_COLUMN:		stack[ sp++ ].p = table->columns + READ_OP;				break;			case OP_PUSH_COLUMN_VAL:	stack[ sp++ ].i	= row[ READ_OP ].integer;				break;			case OP_PUSH_STRING_PARAM:	stack[ sp++ ].s = params[ READ_OP ].payload.string;		break;			case OP_PUSH_INTEGER_PARAM:	stack[ sp++ ].i = params[ READ_OP ].payload.integer;	break;			case OP_ROWINDEX:			stack[ sp++ ].i = (row - table->rows) / table->column_count;	break;			case OP_ROWNUMBER:			stack[ sp++ ].i = index; break;			case OP_ROWTOTAL:			stack[ sp++ ].i = total; break;			case OP_ROWCOUNT:			stack[ sp++ ].i = table->row_count; break;			case OP_SYS_TIME:			stack[ sp++ ].i = Sys_Milliseconds(); break;						case OP_SUBTRACT:		LVALUE.i = LEFT_OPERAND.i	-	RIGHT_OPERAND.i; sp--;	break;			case OP_ADD:			LVALUE.i = LEFT_OPERAND.i	+	RIGHT_OPERAND.i; sp--;	break;			case OP_DIVIDE:			LVALUE.i = LEFT_OPERAND.i	/	RIGHT_OPERAND.i; sp--;	break;			case OP_MULTIPLY:		LVALUE.i = LEFT_OPERAND.i	*	RIGHT_OPERAND.i; sp--;	break;			case OP_MODULUS:		LVALUE.i = LEFT_OPERAND.i	%	RIGHT_OPERAND.i; sp--;	break;			case OP_LOGICAL_AND:	LVALUE.i = LEFT_OPERAND.i	&&	RIGHT_OPERAND.i; sp--;	break;			case OP_LOGICAL_OR:		LVALUE.i = LEFT_OPERAND.i	||	RIGHT_OPERAND.i; sp--;	break;			case OP_BITWISE_AND:	LVALUE.i = LEFT_OPERAND.i	&	RIGHT_OPERAND.i; sp--;	break;			case OP_BITWISE_OR:		LVALUE.i = LEFT_OPERAND.i	|	RIGHT_OPERAND.i; sp--;	break;			case OP_GT:				LVALUE.i = LEFT_OPERAND.i	>	RIGHT_OPERAND.i; sp--;	break;			case OP_LT:				LVALUE.i = LEFT_OPERAND.i	<	RIGHT_OPERAND.i; sp--;	break;			case OP_GE:				LVALUE.i = LEFT_OPERAND.i	>=	RIGHT_OPERAND.i; sp--;	break;			case OP_LE:				LVALUE.i = LEFT_OPERAND.i	<=	RIGHT_OPERAND.i; sp--;	break;			case OP_EQ:				LVALUE.i = LEFT_OPERAND.i	==	RIGHT_OPERAND.i; sp--;	break;			case OP_NE:				LVALUE.i = LEFT_OPERAND.i	!=	RIGHT_OPERAND.i; sp--;	break;			case OP_ATOI:				if (stack[ sp-1 ].s) {					stack[ sp-1 ].i = atoi( stack[ sp-1 ].s );				} else {					stack[ sp-1 ].i = -1;				}				break;			case OP_LIKE:			LVALUE.i = Q_stricmp( LEFT_OPERAND.s, RIGHT_OPERAND.s ) == 0; sp--;	break;			case OP_MATCH:			LVALUE.i = Com_Filter( RIGHT_OPERAND.s, LEFT_OPERAND.s, 0 ); sp--; break;			case OP_NOTLIKE:		LVALUE.i = Q_stricmp( LEFT_OPERAND.s, RIGHT_OPERAND.s ) != 0; sp--; break;			case OP_INT_MIN:		LVALUE.i = (LEFT_OPERAND.i<RIGHT_OPERAND.i)?LEFT_OPERAND.i:RIGHT_OPERAND.i; sp--; break;			case OP_INT_MAX:		LVALUE.i = (LEFT_OPERAND.i>RIGHT_OPERAND.i)?LEFT_OPERAND.i:RIGHT_OPERAND.i; sp--; break;			case OP_ABS:			stack[ sp-1 ].i = abs( stack[ sp-1 ].i ); break;			case OP_UMINUS:							stack[ sp-1 ].i = -stack[ sp-1 ].i;				break;			case OP_NOT:				stack[ sp-1 ].i = !(stack[ sp-1 ].i);				break;			case OP_REMOVE:				{					int p = READ_OP;					int n = min( params[ p ].payload.integer, stack[ sp-1 ].i );					params[ p ].payload.integer -= n;					stack[ sp-1 ].i = n;				} break;			case OP_ASSIGN_INT_TO_COLUMN:				{					columnInfo_t *	c		= (columnInfo_t*)LEFT_OPERAND.p;					ASSERT( c->num >= 0 && c->num < table->column_count );					if ( row[ c->num ].integer != RIGHT_OPERAND.i ) {						table->modified |= (1<<c->num);					}					LVALUE.i = row[ c->num ].integer	= RIGHT_OPERAND.i; sp--;				} break;			case OP_ASSIGN_STRING_TO_COLUMN:				{					//	a string is being inserted into a table.  this string is expected to remain					//	constant throughout the life of the table.  strings stored in tables do not					//	change.  string cells can not be modified with an 'UPDATE' command					columnInfo_t *	c		= (columnInfo_t*)LEFT_OPERAND.p;					cellInfo_t *	cell	= row + c->num;					const char *	o		= cell->string;//.........这里部分代码省略.........
开发者ID:ballju,项目名称:SpaceTrader-GPL-1.1.14,代码行数:101,



注:本文中的Com_Filter函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ Com_HashKey函数代码示例
C++ Com_Error函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。