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

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

51自学网 2021-06-03 08:28:16
  C++
这篇教程C++ strcmp_P函数代码示例写得很实用,希望能帮到您。

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

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

示例1: ir_read

uint16_t ir_read(uint8_t* buf, uint16_t maxlen, uint8_t* data){	if(strlen(data) == 0){		// "Index" action		return snprintf_P(buf, maxlen, PSTR(					"<h1>Choose frequency:</h1>"					"<div id=/"l/"><ul>"					"<li><a href=/"38/">38 kHz</a>"					"<li><a href=/"56/">56 kHz</a>"					"</ul></div>"					"<br>"					"<br>"					"<br>"					"<br>"					"Instructions:<br>"					"Press and hold a button on remote control, then click on desired<br>"					"frequency above. The output format is described <a href=/"../send//">here</a>."					"<h4><a href=/"..//">Return</a></h4>"				));			}else if(strcmp_P(data, PSTR("38")) == 0 ){		return ir_read_38(buf, maxlen, data);	}else if(strcmp_P(data, PSTR("56")) == 0 ){		return ir_read_56(buf, maxlen, data);	}else{		//error		return snprintf_P(buf, maxlen, PSTR(					"<h1>Improper request</h1>"					"<br><br><br><br><br><br>"					"<h4><a href=/"..//">Return</a></h4>"				));		return 0;	}}
开发者ID:lanpilot,项目名称:lanpilot,代码行数:35,


示例2: strcpy_P

uint8_t TelnetServer::iParse(char buffer[]){	char temp[FULLIP_TELNET_LINE_SIZE];	//Serial.println(PSTR("quit"));	if (strcmp_P(buffer,PSTR(""))==0) {		strcpy_P(temp,PSTR("Welcome to telnet"));		client.println(temp);		strcpy_P(temp,PSTR("Type ? to display a list of commands"));		client.println(temp);		return _iParse(buffer);	} else if (strcmp_P(buffer,PSTR("quit"))==0) {		//strcpy_P(temp,PSTR("Bye"));		//client.println(temp);		disconnect();		return 1;	} else if (strcmp_P(buffer,PSTR("?"))==0) {		strcpy_P(temp,PSTR("quit : close the connection"));		client.println(temp);		return _iParse(buffer);	} else {		uint8_t ret=_iParse(buffer);		if (ret!=1) {			strcpy_P(temp,PSTR("command not found"));			client.println(temp);		}	}	return 0;}
开发者ID:ADTL,项目名称:arduino-fullip,代码行数:28,


示例3: wifiServerSaveConfig

void wifiServerSaveConfig() {	Serial.println(F("Saving settings"));	int fail = 0;	while (strcmp_P(useLineBuffer(), PSTR("begin")) != 0)		wifiBufferLoop();	while (1) {		wifiBufferLoop();		if (hasNewLine()) {			if (strcmp_P(useLineBuffer(), PSTR("end")) == 0)				break;			if (!configParseRequest(useLineBuffer())) {				Serial.println(F("fail:"));				Serial.println(useLineBuffer());				Serial.println(F("end"));				wifiInitiateSend(linkID);				wifiServerSendPGMP(http400, &stream);				wifiEndSend();				fail = 1;				break;			}		}	}	if (fail == 0) {		configWrite();		Serial.println(linkID);		wifiInitiateSend(linkID);		wifiServerSendPGMP(http200json, &stream);		wifiServerSendPGMP(success, &stream);		wifiEndSend();	}}
开发者ID:tuankiet65,项目名称:e3,代码行数:31,


示例4: soap_parse_element

static voidsoap_parse_element (soap_context_t *ctx){  if (*ctx->buf != '<')    SOAP_STREAM_ERROR();  if (ctx->buf[1] == '?')    return;			/* ignore parser instruction. */  if (ctx->parsing_complete)    return;  ctx->buf[ctx->buflen] = 0;  SOAP_DEBUG ("parse_element %s/n", ctx->buf);  if (!ctx->found_envelope)    {      if (strncmp_P (ctx->buf + 1, PSTR("Envelope"), 8))	SOAP_STREAM_ERROR();      ctx->found_envelope = 1;    }  else if (!ctx->found_body)    {      if (strncmp_P (ctx->buf + 1, PSTR("Body"), 4))	return;			/* ignore anything until <Body> */      ctx->found_body = 1;    }  else if (!ctx->found_funcname)    {      soap_lookup_funcname (ctx);      ctx->found_funcname = 1;    }  else if (strncmp_P (ctx->buf + 1, PSTR("/Body"), 5) == 0)    {      ctx->parsing_complete = 1;    }  else if (ctx->buf[1] != '/' && ctx->argslen < SOAP_MAXARGS)    {      char *ptr = strstr_P (ctx->buf + 1, PSTR("type="));      if (!ptr)	SOAP_STREAM_ERROR ();      ptr += 6;			/* Skip type=" */      char *end = strchr (ptr, '"');      if (!end)	SOAP_STREAM_ERROR ();      *end = 0;			/* chop off rest beyond type specifier */      end = strchr (ptr, ':');      if (end) ptr = end + 1;	/* Ignore namespace specifier */      SOAP_DEBUG ("found arg type: '%s'/n", ptr);      if (strcmp_P (ptr, PSTR("int")) == 0)	ctx->args[ctx->argslen].type = SOAP_TYPE_INT;      else if (strcmp_P (ptr, PSTR("string")) == 0)	ctx->args[ctx->argslen].type = SOAP_TYPE_STRING;      else	SOAP_STREAM_ERROR ();    }}
开发者ID:1234tester,项目名称:ethersex,代码行数:60,


示例5: DEBUG_P

ModemGSM::EStandardAnswer ModemGSM::WaitAnswer(unsigned int pTimeoutMS, boolean pHandleURC){	//DEBUG_P("WaitAnswer --> ");	for(;;)	{		if(Readln(pTimeoutMS, false) == TIMEOUT)		{			DEBUG_P(PSTR("** TIMEOUT"LB));			return saTimeout;		}				//DEBUGLN(FRXBuff);		if(strcmp_P(FRXBuff,PSTR("OK")) == 0)		{			//DEBUGLN_P("OK");			return saOk;    		}		else if(	(strcmp_P(FRXBuff,PSTR("ERROR")) == 0) ||					(strncmp_P(FRXBuff,PSTR("+CME ERROR:"), 11) == 0) ||					(strncmp_P(FRXBuff,PSTR("+CMS ERROR:"), 11) == 0))		{			DEBUG_P(PSTR("** "));			DEBUGLN(FRXBuff);			return saError;    		}		else if(pHandleURC)			HandleURC();		else			return saUnknown;    	}}
开发者ID:chipburner,项目名称:Arduino-GSM-Thermostat,代码行数:32,


示例6: Mode

// pinMode( arg[0], arg[1] )void Mode(void){    if ( (command_done == 10) )    {        // check that arg[0] is a digit         if ( ( !( isdigit(arg[0][0]) ) ) )        {            printf_P(PSTR("{/"err/":/"pModeNaN/"}/r/n"));            initCommandBuffer();            return;        }        // and arg[0] value is 2|3|24|25|26|27         uint8_t a = atoi(arg[0]);        if ( (a != 2) && (a != 3) && ( ( a < 24) || (a > 27) ) )        {            printf_P(PSTR("{/"err/":/"pModeOutOfRng/"}/r/n"));            initCommandBuffer();            return;        }        // also arg[1] is not ('INPUT' or 'OUTPUT')        if ( !( (strcmp_P( arg[1], PSTR("INPUT")) == 0) || (strcmp_P( arg[1], PSTR("OUTPUT")) == 0) ) )         {            printf_P(PSTR("{/"err/":/"pModeNaMode/"}/r/n"));            initCommandBuffer();            return;        }        serial_print_started_at = millis();        if (strcmp_P( arg[1], PSTR("OUTPUT")) == 0 )         {            pinMode(a, OUTPUT);        }        else        {            pinMode(a, INPUT);        }                printf_P(PSTR("{/""));        command_done = 11;    }    else if ( (command_done == 11) )    {          echo_digital_pin_in_json_rply();        printf_P(PSTR("/":/""));        command_done = 12;    }    else if ( (command_done == 12) )    {        printf( arg[1] );        printf_P(PSTR("/"}/r/n"));        initCommandBuffer();    }    else    {        printf_P(PSTR("{/"err/":/"pModeCmdDnWTF/"}/r/n"));        initCommandBuffer();    }}
开发者ID:epccs,项目名称:irrigate7,代码行数:58,


示例7: page

int ThingSpeak::TalkBack::execute_next_command(){  // Use an iostream for the http post request  Socket* sock = m_client->m_sock;  IOStream page(sock);  // Connect to the server  int res = m_client->connect();  if (res < 0) goto error;  // Generate the http post request with talkback id and key  page << PSTR("POST /talkbacks/") << m_id       << PSTR("/commands/execute?api_key=") << m_key       << PSTR(" HTTP/1.1") << CRLF       << PSTR("Host: api.thingspeak.com") << CRLF       << PSTR("Connection: close") << CRLF       << PSTR("Content-Length: 0") << CRLF       << CRLF;  sock->flush();  // Wait for the reply  while ((res = sock->available()) == 0) delay(16);  if (res < 0) goto error;  // Parse reply header  Command* command;  uint8_t length;  char line[64];  sock->gets(line, sizeof(line));  res = -1;  if (strcmp_P(line, PSTR("HTTP/1.1 200 OK/r"))) goto error;  do {    sock->gets(line, sizeof(line));  } while ((sock->available() > 0) && (strcmp_P(line, PSTR("/r"))));  if (sock->available() <= 0) goto error;  // Parse reply length and command string  sock->gets(line, sizeof(line));  length = (uint8_t) strtol(line, NULL, 16);  if (length <= 0) goto error;  sock->gets(line, sizeof(line));  line[length] = 0;  // Lookup the command and execute. Disconnect before and the command might  // issue an add command request  res = -5;  command = lookup(line);  if (command == NULL) goto error;  m_client->disconnect();  command->execute();  return (0);   error:  m_client->disconnect();  return (res);}
开发者ID:ericyanush,项目名称:Cosa,代码行数:57,


示例8: dumpAllFields

/* * This method parses a incoming string (the message is expected to be complete) * Depending on the instruction the action is undertaken. */void SerialCommunicator::setReceivedMessage(const char* newMessage){	if (strcmp_P(newMessage, DUMP) == 0)	{		dumpAllFields();	} else if (strncmp_P(newMessage, GET, 4) == 0)	{		SerialOutput.println((__FlashStringHelper *) GET);		FieldData *fieldData = FieldData::findField(newMessage + 4);		if (fieldData != 0) fieldData->dump();	} else if (strncmp_P(newMessage, SET, 4) == 0)	{		SerialOutput.println((__FlashStringHelper *) SET);		FieldData *fp = FieldData::findField(newMessage + 4);		if (fp != 0)		{			fp->setValue(newMessage + 4 + strlen_P((const char *) fp->myClassName) + strlen_P((const char *) fp->myFieldName) + 2);			fp->dump();		}	} else if (strncmp_P(newMessage, SET, 3) == 0)	{		SerialOutput.println((__FlashStringHelper *) SET);		FieldData::visitAllFields(dumpWritableData, true);	} else if (strcmp_P(newMessage, LOG_HEADER) == 0)	{		SerialOutput.print((__FlashStringHelper *) LOG_HEADER);		SerialOutput.print(FIELDSEPERATOR);		FieldData::visitAllFields(logHeaderVisitor, true);		SerialOutput.println();		return;	} else if (strcmp_P(newMessage, LOG_VALUE) == 0)	{		logValue();		return;//#ifdef I_USE_RESET//	} else if (strcmp_P(newMessage, RESET) == 0)//	{//		ForceHardReset();//#endif	} else	{		dumpCommands();		if ('?' != newMessage[0])		{			SerialOutput.print((__FlashStringHelper *) ERROR);			//Even though it is handy to see what has been send			//The yun bootloader sends press ard to stop bootloader			//echoing this means the bootloader receives ard			//SerialOutput.println(newMessage);		}		return;	}	SerialOutput.println((__FlashStringHelper *) DONE);}
开发者ID:tbarchyn,项目名称:ArduinoLibraries,代码行数:58,


示例9: cmd_color_parsed

/* function called when cmd_color is parsed successfully */static void cmd_color_parsed(void *parsed_result, void *data){	struct cmd_color_result *res = (struct cmd_color_result *) parsed_result;	if (!strcmp_P(res->color, PSTR("yellow"))) {		ballboard.our_color = I2C_COLOR_YELLOW;	}	else if (!strcmp_P(res->color, PSTR("blue"))) {		ballboard.our_color = I2C_COLOR_BLUE;	}	printf_P(PSTR("Done/r/n"));}
开发者ID:onitake,项目名称:aversive,代码行数:12,


示例10: ProcessCmd

void ProcessCmd(){     if ( (strcmp_P( command, PSTR("/id?")) == 0) && ( (arg_count == 0) || (arg_count == 1) ) )    {        Id("CCtest");    }    if ( (strcmp_P( command, PSTR("/cctest?")) == 0) && ( (arg_count == 0) || (arg_count == 1) || (arg_count == 3) ) )    {        CCtest();    }}
开发者ID:epccs,项目名称:RPUno,代码行数:11,


示例11: parse_cmd_pin_set

int16_t parse_cmd_pin_set(char *cmd, char *output, uint16_t len){  uint16_t port, pin, on;  /* Parse String */  uint8_t ret = sscanf_P(cmd, PSTR("%u %u %u"), &port, &pin, &on);  /* Fallback to named pins */  if ( ret != 3 && *cmd) {    char *ptr = strchr(cmd + 1, ' ');    if (ptr) {      *ptr = 0;      uint8_t pincfg = named_pin_by_name(cmd + 1);      if (pincfg != 255) {        port = pgm_read_byte(&portio_pincfg[pincfg].port);        pin = pgm_read_byte(&portio_pincfg[pincfg].pin);        if (ptr[1]) {          ptr++;          if(sscanf_P(ptr, PSTR("%u"), &on) == 1)            ret = 3;          else {            if (strcmp_P(ptr, PSTR("on")) == 0) {              on = 1;              ret = 3;            }            else if (strcmp_P(ptr, PSTR("off")) == 0) {              on = 0;              ret = 3;            }          }        }      }    }  }  if (ret == 3 && port < IO_PORTS && pin < 8) {    /* Set only if it is output */    if (vport[port].read_ddr(port) & _BV(pin)) {      uint8_t pincfg = named_pin_by_pin(port, pin);      uint8_t active_high = 1;      if (pincfg != 255)          active_high = pgm_read_byte(&portio_pincfg[pincfg].active_high);      if (XOR_LOG(on, !active_high))         vport[port].write_port(port, vport[port].read_port(port) | _BV(pin));      else        vport[port].write_port(port, vport[port].read_port(port) & ~_BV(pin));      return ECMD_FINAL(snprintf_P(output, len, on ? PSTR("on") : PSTR("off")));    } else       return ECMD_FINAL(snprintf_P(output, len, PSTR("error: pin is input")));  } else    return ECMD_ERR_PARSE_ERROR;}
开发者ID:HansBaechle,项目名称:ethersex,代码行数:54,


示例12: CommandSetLogMem

CommandStatusIdType CommandSetLogMem(const char* InParam){    if (strcmp_P(InParam, PSTR(COMMAND_LOGMEM_LOADBIN)) == 0) {        XModemSend(LogMemLoadBlock);        return COMMAND_INFO_XMODEM_WAIT_ID;    } else if (strcmp_P(InParam, PSTR(COMMAND_LOGMEM_CLEAR)) == 0) {        LogMemClear();        return COMMAND_INFO_OK_ID;    } else {        return COMMAND_ERR_INVALID_PARAM_ID;    }}
开发者ID:MarxGonzalez,项目名称:ChameleonMini,代码行数:12,


示例13: parse_error_led_command

int8_t parse_error_led_command(char *command, char *bfr, uint16_t buffer_size){	if (0 == strcmp_P(command, PSTR("SEL")))	{		return parse_set_error_led(bfr, buffer_size);	}	else if (0 == strcmp_P(command, PSTR("GEL")))	{		return parse_get_error_led();	}	else		return ERR_CMD;}
开发者ID:ande3577,项目名称:Wiimote-Car-Control-Board,代码行数:13,


示例14: parse_encoder_command

int8_t parse_encoder_command(char *command, char *bfr, uint16_t buffer_size){	if (0 == strcmp_P(command, PSTR("GES")))	{		return parse_get_encoder_speed(); //	}	else if (0 == strcmp_P(command, PSTR("GEC")))	{		return parse_get_encoder_counts(); //	}	else		return ERR_CMD;}
开发者ID:ande3577,项目名称:Wiimote-Car-Control-Board,代码行数:13,


示例15: commandInterpreter

void commandInterpreter(const commandStruct *cmdTable) {  int ch;  char cBuf[16];  int bIdx;  int i;  handler ptr;  while (1) {    while (1) {         printf_P(PSTR("->"));                 // print the command prompt      bIdx = 0;      do {                                  // read a command from serial port        ch = getChar();        uart_putc(ch);        cBuf[bIdx] = (char)ch;        bIdx++;      } while ((ch!=0x0d) && (ch!=0x0a));   // check for newline and carriage return            bIdx--;      cBuf[bIdx] = '/0';                // null terminate string            //printf_P(PSTR("Entered Command = %s/n"), cBuf);            uart_putc('/n');           if (!strcmp_P(cBuf, PSTR("help"))) {        printCommands(cmdTable);      }      i = 0;      //cmdId = pgm_read_word(&cmdTable[i].id);                      // identify command      ptr = (handler)pgm_read_word(&cmdTable[i].function);      while (ptr!=NULL) {        if (!strcmp_P(cBuf, &cmdTable[i].name)) {                  // command found,break search          ptr = (handler)pgm_read_word(&cmdTable[i].function);          if (ptr!=NULL) {            //printf_P(PSTR("Function found/n"));            ptr();          }          break;          } else {          i++;          //cmdId = pgm_read_word(&cmdTable[i].id);               ptr = (handler)pgm_read_word(&cmdTable[i].function);        }      }    }  }}
开发者ID:zonbrisad,项目名称:LEF,代码行数:51,


示例16: _readToPacketBuffer

void ATEMclient::_parseGetCommands(const char *cmdStr)  {        uint8_t mE;  uint16_t videoSource;  long temp;  uint8_t readBytesForTlSr;  if (!strcmp_P(cmdStr, PSTR("AMLv")))  {    _readToPacketBuffer(36);  } else if (!strcmp_P(cmdStr, PSTR("TlSr"))) {    readBytesForTlSr = ((ATEM_packetBufferLength-2)/3)*3+2;    _readToPacketBuffer(readBytesForTlSr);  } else {    _readToPacketBuffer();  // Default  }  if(!strcmp_P(cmdStr, PSTR("PrgI"))) {        mE = _packetBuffer[0];    if (mE<=1) {      #if ATEM_debug      temp = atemProgramInputVideoSource[mE];      #endif                atemProgramInputVideoSource[mE] = word(_packetBuffer[2], _packetBuffer[3]);      #if ATEM_debug      if ((_serialOutput==0x80 && atemProgramInputVideoSource[mE]!=temp) || (_serialOutput==0x81 && !hasInitialized())) {        Serial.print(F("atemProgramInputVideoSource[mE=")); Serial.print(mE); Serial.print(F("] = "));        Serial.println(atemProgramInputVideoSource[mE]);      }      #endif          }  } else   if(!strcmp_P(cmdStr, PSTR("PrvI"))) {        mE = _packetBuffer[0];    if (mE<=1) {      #if ATEM_debug      temp = atemPreviewInputVideoSource[mE];      #endif                atemPreviewInputVideoSource[mE] = word(_packetBuffer[2], _packetBuffer[3]);      #if ATEM_debug      if ((_serialOutput==0x80 && atemPreviewInputVideoSource[mE]!=temp) || (_serialOutput==0x81 && !hasInitialized())) {        Serial.print(F("atemPreviewInputVideoSource[mE=")); Serial.print(mE); Serial.print(F("] = "));        Serial.println(atemPreviewInputVideoSource[mE]);      }      #endif          }  }}
开发者ID:hogeika,项目名称:AtemTally_ESP8266EX_Arduino,代码行数:50,


示例17: cmd_pwm_parsed

/* function called when cmd_pwm is parsed successfully */static void cmd_pwm_parsed(void * parsed_result, void * data){#ifdef HOST_VERSION	printf("not implemented/n");#else	void * pwm_ptr = NULL;	struct cmd_pwm_result * res = parsed_result;		if (!strcmp_P(res->arg1, PSTR("1(4A)")))		pwm_ptr = &gen.pwm1_4A;	else if (!strcmp_P(res->arg1, PSTR("2(4B)")))		pwm_ptr = &gen.pwm2_4B;	else if (!strcmp_P(res->arg1, PSTR("3(1A)")))		pwm_ptr = &gen.pwm3_1A;	else if (!strcmp_P(res->arg1, PSTR("4(1B)")))		pwm_ptr = &gen.pwm4_1B;	else if (!strcmp_P(res->arg1, PSTR("s1(3C)")))		pwm_ptr = &gen.servo1;	else if (!strcmp_P(res->arg1, PSTR("s2(5A)")))		pwm_ptr = &gen.servo2;	else if (!strcmp_P(res->arg1, PSTR("s3(5B)")))		pwm_ptr = &gen.servo3;	else if (!strcmp_P(res->arg1, PSTR("s3(5C)")))		pwm_ptr = &gen.servo4;		if (pwm_ptr)		pwm_ng_set(pwm_ptr, res->arg2);	printf_P(PSTR("done/r/n"));#endif}
开发者ID:onitake,项目名称:aversive,代码行数:33,


示例18: pv_cmdWrLog

/*------------------------------------------------------------------------------------*/s08 pv_cmdWrLog(char *s){	if ((!strcmp_P( strupr(s), PSTR("ON")))) {		systemVars.log = ON;		return(TRUE);	}	if ((!strcmp_P( strupr(s), PSTR("OFF")))) {		systemVars.log = OFF;		return(TRUE);	}	return(FALSE);}
开发者ID:ppeluffo,项目名称:sp5KV5_PZ,代码行数:16,


示例19: Check

void Check (int line, const char *s1, const char *s2, int clr, int pnt){    char t1[300];    char *sp;    char *rp;    if (strlen_P(s1) > sizeof(t1) - 1)	exit (1);    strcpy_P (t1, s1);    sp = t1;    rp = strsep_P (&sp, s2);    if (rp != t1) {	PRINTFLN (line, "false return value");	EXIT (5000 + line);    }    if (clr < 0) {	if (strcmp_P (t1, s1)) {	    PRINTFLN (line, "string is changed");	    EXIT (line);	}    } else {	if (strlen (t1) != (size_t)clr) {	    PRINTFLN (line, "strlen: expect= %d  result= %d",			 clr, strlen (t1));	    EXIT (1000 + line);	}	if (memcmp_P (t1, s1, clr)	    || t1[clr]	    || strcmp_P (t1 + clr + 1, s1 + clr + 1))	{	    PRINTFLN (line, "string mismatch");	    EXIT (2000 + line);	}    }    if (pnt < 0) {	if (sp) {	    PRINTFLN (line, "sp is not a NULL");	    EXIT (3000 + line);	}    } else {	if (sp != t1 + pnt) {	    PRINTFLN (line, "sp: expect= %d  result= %d",			 pnt, sp - t1);	    EXIT (4000 + line);	}    }}
开发者ID:ChunHungLiu,项目名称:avr-libc,代码行数:48,


示例20: malloc

static NUTFILE *UromOpen(NUTDEVICE * dev, CONST char *name, int mode,                         int acc){    NUTFILE *fp = malloc(sizeof(NUTFILE));    ROMENTRY *rome;    ROMFILE *romf = 0;    if (fp == 0) {        errno = ENOMEM;        return NUTFILE_EOF;    }    for (rome = romEntryList; rome; rome = rome->rome_next) {        if (strcmp_P(name, rome->rome_name) == 0)            break;    }    if (rome) {        if ((romf = calloc(1, sizeof(ROMFILE))) != 0)            romf->romf_entry = rome;        else            errno = ENOMEM;    } else        errno = ENOENT;    if (romf) {        fp->nf_next = 0;        fp->nf_dev = dev;        fp->nf_fcb = romf;    } else {        free(fp);        fp = NUTFILE_EOF;    }    return fp;}
开发者ID:remcoplasmeyer,项目名称:InetRadio,代码行数:35,


示例21: strlen_P

bool SerialConsole::handleCommand(const char *buffer, const uint8_t len){    if (buffer[0] == 0)        return false;    for (uint8_t i = 0; i != MAX_COMMANDS; ++i)    {        if (commands[i].hasParam)        {            const uint8_t cmd_len = strlen_P(commands[i].command);            if (strncmp_P(buffer, commands[i].command, cmd_len) == 0)            {                (this->*commands[i].handler) (buffer, len);                return true;            }        } else if (strcmp_P(buffer, commands[i].command) == 0) {            (this->*commands[i].handler) (buffer, len);            return true;        }    }    uart << PGM << STR_HELP_UNKNOWN;    uart << " (" << buffer << ")" << CR;    return false;}
开发者ID:karlpilkington,项目名称:NoSpark,代码行数:27,


示例22: return

ThingSpeak::TalkBack::Command* ThingSpeak::TalkBack::lookup(const char* name){  for (Command* c = m_first; c != NULL; c = c->m_next)    if (!strcmp_P(name, c->m_string)) return (c);  return (NULL);}
开发者ID:ericyanush,项目名称:Cosa,代码行数:7,


示例23: print

bool UbirchSIM800::connect(const char *address, unsigned short int port, uint16_t timeout) {  if (!expect_AT(F("+CIPSHUT"), F("SHUT OK"))) return false;  if (!expect_AT_OK(F("+CMEE=2"))) return false;  if (!expect_AT_OK(F("+CIPQSEND=1"))) return false;  // bring connection up, force it  print(F("AT+CSTT=/""));  print(_apn);  println(F("/""));  if (!expect_OK()) return false;  if (!expect_AT_OK(F("+CIICR"))) return false;  // try five times to get an IP address  bool connected;  do {    char ipaddress[23];    println(F("AT+CIFSR"));    expect_scan(F("%s"), ipaddress);    connected = strcmp_P(ipaddress, PSTR("ERROR")) != 0;    if (!connected) delay(1);  } while (timeout-- && !connected);  if (!connected) return false;  print(F("AT+CIPSTART=0,/"TCP/",/""));  print(address);  print(F("/",/""));  print(port);  println(F("/""));  if (!expect_OK()) return false;  if (!expect(F("0, CONNECT OK"), 30000)) return false;  return connected;}
开发者ID:ubirch,项目名称:ubirch-sim800,代码行数:35,


示例24: testrun_nessie_des

void testrun_nessie_des(const char* param){	if(!param){		bcal_nessie_multiple(algolist);	}else{		uint8_t i=0;		bcdesc_t* ptr;		for(;;){			ptr = (bcdesc_t*)pgm_read_word(&algolist[i++]);			if(ptr == NULL){				cli_putstr_P(PSTR("/r/nunknown algorithm: "));				cli_putstr(param);				cli_putstr_P(PSTR("/r/navailable algorithms are:"));				i = 0;				while((ptr = (bcdesc_t*)pgm_read_word(&algolist[i++]))){					cli_putstr_P(PSTR("/r/n/t"));					cli_putstr_P((const char*)pgm_read_word(&ptr->name));				}				return;			}			if(!strcmp_P(param, (const char*)pgm_read_word(&ptr->name))){				bcal_nessie(ptr);				return;			}		}	}}
开发者ID:EwanLu,项目名称:chipwhisperer,代码行数:26,


示例25: soap_lookup_funcname

static voidsoap_lookup_funcname (soap_context_t *ctx){  ctx->buf[ctx->buflen - 1] = 0; /* Strip away '>' */  char *funcname = ctx->buf + 1;  for (char *ptr = funcname; *ptr; ptr ++)    if (isblank (*ptr))      {	*ptr = 0;	break;      }  for (uint8_t i = 0;; i++)    {      PGM_P text = (PGM_P)pgm_read_word (&soap_cmds[i].name);      if (text == NULL)	/* End of list, i.e. not found */	SOAP_STREAM_ERROR ();      if (strcmp_P (funcname, text))	continue;		/* Mis-match, try next. */      ctx->rpc.name = text;      ctx->rpc.handler = (void *) pgm_read_word (&soap_cmds[i].handler);      return;    }}
开发者ID:1234tester,项目名称:ethersex,代码行数:28,


示例26: run_sprf

void run_sprf (const struct sprf_s *pt, int testno){    static char s[300];    int n;    int code;#ifdef	__AVR__    n = sprintf_P (s, pt->fmt, pgm_read_dword (& pt->val));#else    n = sprintf (s, pt->fmt, pt->val);#endif    if (n != (int)strlen_P (pt->pattern))	code = testno + 1000;    else if (strcmp_P (s, pt->pattern))	code = testno;    else	return;#if  !defined(__AVR__)    printf ("/ntestno %3d: expect: %3d, /"%s/","	    "/n            output: %3d, /"%s/"/n",	    testno, strlen(pt->pattern), pt->pattern, n, s);    exit (code < 256 ? testno : 255);#elif	defined(DEBUG)    exit ((int)s);#endif    exit (code);}
开发者ID:ChunHungLiu,项目名称:avr-libc,代码行数:27,


示例27: get_from_flash

int8_t DLGSM::GPRS_check_conn_state() {	uint8_t k = 0;	char d[15];	get_from_flash(&(gsm_string_table[5]), _gsm_buff);	GSM_send(_gsm_buff);	GSM_process("STATE:", 20);	if (strcmp_P(_gsm_buff, PSTR("STATE:")) >= 0) {		for(k=0; k < GPRSS_LEN; k++) {			if (strcmp_flash(_gsm_buff+7, &(gprs_state_table[k]), d) == 0) {				if (k == GPRSS_IP_INITIAL ||				    k == GPRSS_IP_START || 				    k == GPRSS_IP_CONFIG) { // Reinitialize GPRS						GSM_init();						GPRS_init();				} else if (k == GPRSS_IP_GPRSACT) { // Just need to query the local IP...						get_from_flash(&(gprs_init_string_table[9]), _gsm_buff);						GSM_send(_gsm_buff);						GSM_process(NULL, 25);				} else if (k == GPRSS_CONNECT_OK) {						CONN_set_flag(CONN_CONNECTED, 1);				} else if (k == GPRSS_TCP_CLOSED ||					   k == GPRSS_UDP_CLOSED) {						CONN_set_flag(CONN_CONNECTED, 0);				} else if (k == GPRSS_PDP_DEACT) { // Reinitialize GPRS						GSM_init();						GPRS_init();				}				return k;			}		}	}	return -1;}
开发者ID:atiti,项目名称:datalogger,代码行数:33,


示例28: cgi_reset

/*------------------------------------------------------------------------------------------------------------*/void cgi_reset( void * pStruct ){	struct HTTP_REQUEST * http_request;	http_request = (struct HTTP_REQUEST *) pStruct;	cgi_PrintHttpheaderStart();	if ( http_request->argc == 0 )	{		printf_P( PSTR(	"<form action=/"reset.cgi/" method=/"get/" accept-charset=/"ISO-8859-1/">"						"<p><input type=/"submit/" name=/"reset/" value=/"reset/"></p></form>" ));		cgi_PrintHttpheaderEnd();	}	else if( PharseCheckName_P( http_request, PSTR("reset") ) )	{			if ( !strcmp_P( http_request->argvalue[ PharseGetValue_P( http_request, PSTR("reset") ) ] , PSTR("reset") ) )		{			printf_P( PSTR("Reset"));			cgi_PrintHttpheaderEnd();			STDOUT_Flush();			CloseTCPSocket( http_request->HTTP_SOCKET );			softreset();			while(1);		}	}}
开发者ID:mcjobo,项目名称:mikrocontroller,代码行数:27,


示例29: Check

static voidCheck (int line, unsigned long val, const char *rslt, int radix){    char s[40];#ifndef	__AVR__    if (radix >= 2 && radix <= 36) {	unsigned long x = strtoul (rslt, 0, radix);	if (x != val) {	    PRINTFLN (line, "strtoul(/"%s/",,%d)= %lu,  val= %lu",		      rslt, radix, x, val);	    EXIT (2000 + line);	}    }#endif    memset (s, 0xff, sizeof (s) - 1);    s[sizeof (s) - 1] = 0;    if (ultoa (val, s, radix) != s) {	PRINTFLN (line, "Incorrect result");	EXIT (1000 + line);    }    if (strcmp_P (s, rslt)) {	PRINTFLN (line, "ultoa(%lu,,%d) puts: %s, must: %s",		  val, radix, s, rslt);	EXIT (line);    }}
开发者ID:ChunHungLiu,项目名称:avr-libc,代码行数:29,



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


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