Esempio n. 1
0
  main( )
  {
    char inp;
    char *T[255];
    char *S[255];
    struct sstring *s1,*s2,*res;
    int pos,len;
    printf("1-------strassing\n");
    printf("2-------strlength\n");
    printf("3-------strcompare\n");
    printf("4-------clearstring\n");
    printf("5-------concat\n");
    printf("6-------substring\n");
    printf("*-------exit!");
    printf("please in put1--6 or *\n\n")
 while(1){
      scanf("%c",&inp);
      switch(inp){
	      case 1:{
		    scanf("%s",&S);
		    res->ch=strassign(s1,S);
		    if(res->ch==0)
			printf("the string is:%s",s1->ch);
		    else
		       printf("error"); }
	      case 2: {
		    scanf("%s",&S);
		    s1->length=strlen(S);
		    strcpy(s1->ch,S);
		    res->ch=strlength(S);
		    printf("the string is:%d\n",s1->length);}
	      case 3:{
		    scanf("%s",&S);
		    scanf("%s",&T);
		    s1->length=strlen(S);
		    strcpy(s1->ch,S);
		    s2->length=strlen(T);
		    strcpy(s2->ch,T);
		    res->ch=strcompare(S,T);
		    switch(res){
		       case 0:
			    printf("two strings are equle");
		       case 1:
			    printf("the first string > the second string");
		       case -1:
			    printf("the first string < the second string");}
                       }
	     case 4:{
		    res->ch=clearstring(s1);
		    res->ch=clearstring(s2);
		    printf("the string is NULL");}
	     case 5:{
		    scanf("%s",&S);
		    scanf("%s",&T);
		    strcat(&s1,S,T);
		    if(res==0)
		      printf("the string is:%s",s1->ch);
		    }
	     case 6: {
		    scanf("%s_%d_%d",S,&pos,&len);
		    s2->length=strlen(S);
		    strcpy(s2->ch,S);
		    res->ch=substring(s1,s2,pos,len);
		    if(res==0)
			printf("the string is:%s",s1->ch);
		    else printf("error");}
	     case *:
		    exit;
       }
      }
    }
Esempio n. 2
0
int encodek2header (unsigned char *buf_ptr, K2EvtFile *hdr) {
	unsigned char *ptr;
	int i, nch, nvt;

	ptr = buf_ptr;

	localstring2k2 (&ptr, hdr->id, 3);
	localbyte2k2 (&ptr, &(hdr->instrumentCode));
	local22k2 (&ptr, &(hdr->headerVersion));
	local22k2 (&ptr, &(hdr->headerBytes));
	localbyte2k2 (&ptr, &(hdr->ro_misc.a2dBits));
	localbyte2k2 (&ptr, &(hdr->ro_misc.sampleBytes));
	localbyte2k2 (&ptr, &(hdr->ro_misc.restartSource));
	clearstring (&ptr, 3);

	local22k2 (&ptr, &(hdr->ro_misc.installedChan));
	local22k2 (&ptr, &(hdr->ro_misc.maxChannels));
	local22k2 (&ptr, &(hdr->ro_misc.sysBlkVersion));
	local22k2 (&ptr, &(hdr->ro_misc.bootBlkVersion));
	local22k2 (&ptr, &(hdr->ro_misc.appBlkVersion));
	local22k2 (&ptr, &(hdr->ro_misc.dspBlkVersion));
	local22k2 (&ptr, &(hdr->ro_misc.batteryVoltage));
	local22k2 (&ptr, &(hdr->ro_misc.crc));
	local22k2 (&ptr, &(hdr->ro_misc.flags));
	local22k2 (&ptr, &(hdr->ro_misc.temperature));
	clearstring (&ptr, 22);

	localbyte2k2 (&ptr, &(hdr->ro_timing.clockSource));
	localbyte2k2 (&ptr, &(hdr->ro_timing.gpsStatus));
	localbyte2k2 (&ptr, &(hdr->ro_timing.gpsSOH));

	clearstring (&ptr, 5);

	local22k2 (&ptr, &(hdr->ro_timing.gpsLockFailCount));
	local22k2 (&ptr, &(hdr->ro_timing.gpsUpdateRTCCount));
	local22k2 (&ptr, &(hdr->ro_timing.acqDelay));
	local22k2 (&ptr, &(hdr->ro_timing.gpsLatitude));
	local22k2 (&ptr, &(hdr->ro_timing.gpsLongitude));
	local22k2 (&ptr, &(hdr->ro_timing.gpsAltitude));
	local22k2 (&ptr, &(hdr->ro_timing.dacCount));
	clearstring (&ptr, 2);
	local22k2 (&ptr, &(hdr->ro_timing.gpsLastDrift[0]));
	local22k2 (&ptr, &(hdr->ro_timing.gpsLastDrift[1]));
	local42k2 (&ptr, &(hdr->ro_timing.gpsLastTurnOnTime[0]));
	local42k2 (&ptr, &(hdr->ro_timing.gpsLastTurnOnTime[1]));
	local42k2 (&ptr, &(hdr->ro_timing.gpsLastUpdateTime[0]));
	local42k2 (&ptr, &(hdr->ro_timing.gpsLastUpdateTime[1]));
	local42k2 (&ptr, &(hdr->ro_timing.gpsLastLockTime[0]));
	local42k2 (&ptr, &(hdr->ro_timing.gpsLastLockTime[1]));
	clearstring (&ptr, 16);

	nch = K2EVT_MAX_K2_CHANNELS;
	nvt = K2EVT_STREAM_K2_MAX_VOTERS;
	for (i=0; i<nch; i++) {
		local42k2 (&ptr, &(hdr->ro_channel[i].maxPeak));
		local42k2 (&ptr, &(hdr->ro_channel[i].maxPeakOffset));
		local42k2 (&ptr, &(hdr->ro_channel[i].minPeak));
		local42k2 (&ptr, &(hdr->ro_channel[i].minPeakOffset));
		local42k2 (&ptr, &(hdr->ro_channel[i].mean));
		local42k2 (&ptr, &(hdr->ro_channel[i].aqOffset));
		clearstring (&ptr, 12);
	}

	local42k2 (&ptr, &(hdr->ro_stream.startTime));
	local42k2 (&ptr, &(hdr->ro_stream.triggerTime));
	local42k2 (&ptr, &(hdr->ro_stream.duration));
	local22k2 (&ptr, &(hdr->ro_stream.errors));
	local22k2 (&ptr, &(hdr->ro_stream.flags));
	local22k2 (&ptr, &(hdr->ro_stream.startTimeMsec));
	local22k2 (&ptr, &(hdr->ro_stream.triggerTimeMsec));
	local42k2 (&ptr, &(hdr->ro_stream.nscans));
	local42k2 (&ptr, &(hdr->ro_stream.triggerBitMap));
	clearstring (&ptr, 4);

	local22k2 (&ptr, &(hdr->rw_misc.serialNumber));
	local22k2 (&ptr, &(hdr->rw_misc.nchannels));
	localstring2k2 (&ptr, hdr->rw_misc.stnID, K2EVT_STN_ID_LENGTH);
	localstring2k2 (&ptr, hdr->rw_misc.comment, K2EVT_COMMENT_LENGTH);
	local22k2 (&ptr, &(hdr->rw_misc.elevation));
	local42k2 (&ptr, &(hdr->rw_misc.latitude));
	local42k2 (&ptr, &(hdr->rw_misc.longitude));
	local22k2 (&ptr, &(hdr->rw_misc.userCodes[0]));
	local22k2 (&ptr, &(hdr->rw_misc.userCodes[1]));
	local22k2 (&ptr, &(hdr->rw_misc.userCodes[2]));
	local22k2 (&ptr, &(hdr->rw_misc.userCodes[3]));
	localbyte2k2 (&ptr, &(hdr->rw_misc.cutlerCode));
	localbyte2k2 (&ptr, &(hdr->rw_misc.minBatteryVoltage));
	localbyte2k2 (&ptr, &(hdr->rw_misc.cutler_decimation));
	localbyte2k2 (&ptr, &(hdr->rw_misc.cutler_irig_type));
	local42k2 (&ptr, &(hdr->rw_misc.cutler_bitmap));
	local42k2 (&ptr, &(hdr->rw_misc.channel_bitmap));
	localbyte2k2 (&ptr, &(hdr->rw_misc.cutler_protocol));
	localstring2k2 (&ptr, hdr->rw_misc.siteID, 17);
	localbyte2k2 (&ptr, &(hdr->rw_misc.externalTrigger));
	localbyte2k2 (&ptr, &(hdr->rw_misc.networkFlag));

	localbyte2k2 (&ptr, &(hdr->rw_timing.gpsTurnOnInterval));
	localbyte2k2 (&ptr, &(hdr->rw_timing.gpsMaxTurnOnTime));
	clearstring (&ptr, 6);
	local22k2 (&ptr, &(hdr->rw_timing.localOffset));
	clearstring (&ptr, 2 + 2 + 2);
	clearstring (&ptr, 4 + 4 + 4 + 4);

	for (i=0; i<nch; i++) {
		localstring2k2 (&ptr, hdr->rw_channel[i].id, K2EVT_CHANNEL_ID_LENGTH);
		clearstring (&ptr, 1);
		local22k2 (&ptr, &(hdr->rw_channel[i].sensorSerialNumberExt));
		local22k2 (&ptr, &(hdr->rw_channel[i].north));
		local22k2 (&ptr, &(hdr->rw_channel[i].east));
		local22k2 (&ptr, &(hdr->rw_channel[i].up));
		local22k2 (&ptr, &(hdr->rw_channel[i].altitude));
		local22k2 (&ptr, &(hdr->rw_channel[i].azimuth));
		local22k2 (&ptr, &(hdr->rw_channel[i].sensorType));
		local22k2 (&ptr, &(hdr->rw_channel[i].sensorSerialNumber));
		local22k2 (&ptr, &(hdr->rw_channel[i].gain));
		localbyte2k2 (&ptr, &(hdr->rw_channel[i].triggerType));
		localbyte2k2 (&ptr, &(hdr->rw_channel[i].iirTriggerFilter));
		localbyte2k2 (&ptr, &(hdr->rw_channel[i].StaSeconds));
		localbyte2k2 (&ptr, &(hdr->rw_channel[i].LtaSeconds));
		local22k2 (&ptr, &(hdr->rw_channel[i].StaLtaRatio));
		localbyte2k2 (&ptr, &(hdr->rw_channel[i].StaLtaPercent));
		clearstring (&ptr, 1);
		local42k2 (&ptr, &(hdr->rw_channel[i].fullscale));
		local42k2 (&ptr, &(hdr->rw_channel[i].sensitivity));
		local42k2 (&ptr, &(hdr->rw_channel[i].damping));
		local42k2 (&ptr, &(hdr->rw_channel[i].naturalFrequency));
		local42k2 (&ptr, &(hdr->rw_channel[i].triggerThreshold));
		local42k2 (&ptr, &(hdr->rw_channel[i].detriggerThreshold));
		local42k2 (&ptr, &(hdr->rw_channel[i].alarmTriggerThreshold));
		clearstring (&ptr, 16);
	}

	localbyte2k2 (&ptr, &(hdr->rw_stream.filterFlag));
	localbyte2k2 (&ptr, &(hdr->rw_stream.primaryStorage));
	localbyte2k2 (&ptr, &(hdr->rw_stream.secondaryStorage));
	clearstring (&ptr, 3);
	local22k2 (&ptr, &(hdr->rw_stream.CheckinTime));
	local22k2 (&ptr, &(hdr->rw_stream.eventNumber));
	local22k2 (&ptr, &(hdr->rw_stream.sps));
	local22k2 (&ptr, &(hdr->rw_stream.apw));
	local22k2 (&ptr, &(hdr->rw_stream.preEvent));
	local22k2 (&ptr, &(hdr->rw_stream.postEvent));
	local22k2 (&ptr, &(hdr->rw_stream.minRunTime));
	local22k2 (&ptr, &(hdr->rw_stream.VotesToTrigger));
	local22k2 (&ptr, &(hdr->rw_stream.VotesToDetrigger));
	clearstring (&ptr, 1);
	localbyte2k2 (&ptr, &(hdr->rw_stream.FilterType));
	localbyte2k2 (&ptr, &(hdr->rw_stream.DataFmt));
	clearstring (&ptr, 1);
	local22k2 (&ptr, &(hdr->rw_stream.Timeout));
	local22k2 (&ptr, &(hdr->rw_stream.TxBlkSize));
	local22k2 (&ptr, &(hdr->rw_stream.BufferSize));
	local22k2 (&ptr, &(hdr->rw_stream.SampleRate));
	local42k2 (&ptr, &(hdr->rw_stream.TxChanMap));
	clearstring (&ptr, 4 + 4);
	for (i=0; i<nvt; i++) {
		localbyte2k2 (&ptr, &(hdr->rw_stream.voterInfo[i].type));
		localbyte2k2 (&ptr, &(hdr->rw_stream.voterInfo[i].number));
		local22k2 (&ptr, &(hdr->rw_stream.voterInfo[i].weight));
	}

	localstring2k2 (&ptr, hdr->rw_modem.initCmd, K2EVT_MODEM_INITCMD_LENGTH);
	localstring2k2 (&ptr, hdr->rw_modem.dialingPrefix, K2EVT_MODEM_DIALPREFIX_LENGTH);
	localstring2k2 (&ptr, hdr->rw_modem.dialingSuffix, K2EVT_MODEM_DIALSUFFIX_LENGTH);
	localstring2k2 (&ptr, hdr->rw_modem.hangupCmd, K2EVT_MODEM_HANGUPCMD_LENGTH);
	localstring2k2 (&ptr, hdr->rw_modem.autoAnswerOnCmd, K2EVT_MODEM_AUTOANSWERON_LENGTH);
	localstring2k2 (&ptr, hdr->rw_modem.autoAnswerOffCmd, K2EVT_MODEM_AUTOANSWEROFF_LENGTH);
	for (i=0; i<K2EVT_MODEM_PHONES; i++) {
		localstring2k2 (&ptr, hdr->rw_modem.phoneNumber[i], K2EVT_MODEM_PHONENUMBER_LENGTH);
	}
	localbyte2k2 (&ptr, &(hdr->rw_modem.waitForConnection));
	localbyte2k2 (&ptr, &(hdr->rw_modem.pauseBetweenCalls));
	localbyte2k2 (&ptr, &(hdr->rw_modem.maxDialAttempts));
	localbyte2k2 (&ptr, &(hdr->rw_modem.cellShare));
	localbyte2k2 (&ptr, &(hdr->rw_modem.cellOnTime));
	localbyte2k2 (&ptr, &(hdr->rw_modem.cellWarmupTime));
	for (i=0; i<5; i++) {
		local22k2 (&ptr, &(hdr->rw_modem.cellStartTime[i]));
	}
	clearstring (&ptr, 4);
	local22k2 (&ptr, &(hdr->rw_modem.flags));
	localstring2k2 (&ptr, hdr->rw_modem.calloutMsg, 46);

	return (0);
}