Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Development
  3. How to compare single characters of received message?

How to compare single characters of received message?

Scheduled Pinned Locked Moved Development
3 Posts 2 Posters 490 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • phil2020P Offline
    phil2020P Offline
    phil2020
    wrote on last edited by phil2020
    #1

    I'm expecting this is just a simple declaration/formatting issue, but I can't work out how to compare the individual characters of a received message.

    I want to loop through a received message payload of 20 characters. If I find a "*" character then update a status flag.

              bool status= false;
              for (int i=0;i<20;i++){
                char *a = "*";
                char *b = message.getString()[i];
                if (strcmp(a,b) == 0){
                  status = true;
                }
              }
    

    I keep getting a compile error relating to "invalid conversion from char to char* [-fpermissive]".

    mfalkviddM 1 Reply Last reply
    0
    • phil2020P phil2020

      I'm expecting this is just a simple declaration/formatting issue, but I can't work out how to compare the individual characters of a received message.

      I want to loop through a received message payload of 20 characters. If I find a "*" character then update a status flag.

                bool status= false;
                for (int i=0;i<20;i++){
                  char *a = "*";
                  char *b = message.getString()[i];
                  if (strcmp(a,b) == 0){
                    status = true;
                  }
                }
      

      I keep getting a compile error relating to "invalid conversion from char to char* [-fpermissive]".

      mfalkviddM Online
      mfalkviddM Online
      mfalkvidd
      Mod
      wrote on last edited by mfalkvidd
      #2

      @phil2020 this should do

      bool status = String(message.getString()).indexOf('*') != -1;
      
      1 Reply Last reply
      1
      • phil2020P Offline
        phil2020P Offline
        phil2020
        wrote on last edited by
        #3

        That works, and is a lot shorter!

        Thanks

        1 Reply Last reply
        1
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        16

        Online

        11.7k

        Users

        11.2k

        Topics

        113.0k

        Posts


        Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • MySensors
        • OpenHardware.io
        • Categories
        • Recent
        • Tags
        • Popular