コード例 #1
0
ファイル: server.c プロジェクト: beykery/doudizhu
int getCardChinese(int card, char* ret) {
    char color[10];
    char chinese[10];
    int ret1 = getCardColor(card, color);
    int ret2 = getCardNum(card, chinese);
    if (ret1 && ret2) {
        sprintf(ret, "%s%s", color, chinese);
        return 1;
    } else if (ret2) {
        sprintf(ret, "%s", chinese);
        return 1;
    }
    return 0;
}
コード例 #2
0
ファイル: snmpUtil.c プロジェクト: blockey/WebCgi
/*
*功能:获取光口和电口的告警信息
*@itemNames :in		参数名称
*@data		:out	输出结果	
*return 成功,return true,else return false
*/
boolean getFTAlertData(char *itemNames,char *data){
	struct Alert tempAlert; //temp alert structure 
	//打开告警信息文件
	FILE *alertfile = fopen(currentAlertFilePath,"r");
	//FILE *fp = NULL;
	//lock_t lock = lck_open(FTAlertFilePath,"r",&fp);
	//打开文件出错
	if(alertfile == NULL ){	//this file is already lock by other process 
		webLog("file=%s;func=%s;msg=open file %s error;",__FILE__,__FUNCTION__,currentAlertFilePath);
		return false  ;
	}
	char row[300];		//记录
	char value[20];		//中间变量
	char temp[50];		//临时变量
	char sBeginTime[20];
	char sEndTime[20];
	int ret = 0;
	//获取机架编号
	int devNum = getCardNum(itemNames,"devId");
	//设置返回结果
	strcpy(data,"FTalerts=");
	//读取文件内容
	while(1){
	
		//scanf datas to the alert structure 
		ret = fscanf(alertfile,"%d %d %d %d %d %s %s %d",
						&tempAlert.Specific,
						&tempAlert.address,
						&tempAlert.slot,
						&tempAlert.flag,
						&tempAlert.port,
						sBeginTime,
						sEndTime,
						&tempAlert.value);
		if(ret < 0){
			break;
		}
		
		//获取该机架的告警
		//getValueByName(row,"address",value);
		//设备给出的机架号是从0开始的
		//if(devNum == (atoi(value) + 1)){
		if(devNum == tempAlert.address +1 ){
			//电口0或光口1
			//getValueByName(row,"Specific",value);
			//电口 12
			//if(!strcmp(value,"12")){
			if(tempAlert.Specific == 12){
				sprintf(temp,"FX:%s,","0");
			}
			//光口 13
			//else if(!strcmp(value,"13")){
			else if(tempAlert.Specific == 13){
				sprintf(temp,"FX:%s,","1");
			}else{ //非电口或光口告警 
				continue ;
			}
			strcat(data,temp);
			//卡号
			//getValueByName(row,"slot",value);
			//{
			//	sprintf(temp,"cardId:%d,",atoi(value)+1);
				sprintf(temp,"cardId:%d,",tempAlert.slot+1);
				strcat(data,temp);
			//}
			
			//远端或近端
			//getValueByName(row,"flag",value);
			//近端 12
			//if(!strcmp(value,"0")){
			if(tempAlert.flag == 0){
				sprintf(temp,"remote:%s,","0");
			}
			//远端 13
			else{
				sprintf(temp,"remote:%s,","1");
			}
			strcat(data,temp);
			//一条告警信息结束
			strcat(data,".");
			
		}
	}
	//告警信息结束
	strcat(data,";");
	//关闭文件
	fclose(alertfile);
	//lck_close(lock,fp);
	return true;
}