Arduino strcmp -funksjon

Arduino strcmp -funksjon

Arduino er programmert ved hjelp av C eller C ++ språk; Det meste av syntaksen til begge disse språkene er de samme. Funksjoner som brukes på C -språk kan enkelt implementeres i Arduino -programmering En av dem er STRCMP som sammenligner to forskjellige strenger -tegn. La oss finne ut hvordan vi gjør dette i Arduino IDE.

strcmp () funksjon

STRCMP () -funksjonen i Arduino -programmering sammenligner to forskjellige strenger og returnerer tre verdier avhengig av tegnene inne i strengen. Strengen Sammenlign funksjonen sjekker ASCII -verdiene til tegn som er til stede i både strenger og returnerer enten et positivt, negativt eller null tall i utgangen.

Strcmp () sammenligner både streng 1 og streng 2 -tegn etter karakter. Den vil fortsette å sammenligne til den finner en ulik karakter mellom begge strengene. Hvis den første karakteren til begge strengene er lik, vil den bevege seg mot den andre og vil fortsette å sammenligne til den finner en ulik karakter. I tilfelle hvis ikke en eneste ulik karakter blir funnet, vil null bli returnert.

Syntaks

Syntaks av STRCMP () -funksjonen er gitt nedenfor:

int strcmp (const char * string1, const char * string2);

I syntaks angitt ovenfor er String1 og String2 to strenger hvis tegn skal sammenlignes en etter en.

Parameterverdier

STRCMP () -funksjonen tar to parametere:

  • String1: peker til den første strengen som skal sammenlignes.
  • String2: peker til andre streng som skal sammenlignes.

Returverdier

Tegnene på tastaturet har unike ASCII -verdier slik at strcmp () Funksjoner returnerer tre forskjellige verdier avhengig av strengtegn:

  • Positiv verdi: Hvis streng 1 -tegn har en større ASCII -verdi enn String 2s første forskjellige karakter.
  • Negativ verdi: Hvis streng 1 -tegn har en mindre ASCII -verdi enn String 2s første forskjellige karakter.
  • Null: Hvis streng 1 og streng 2 er lik.

Denne funksjonen vil sammenligne hvert tegn i strengen med hvert tegn på en annen streng og vil fortsette til det kommer noen ulik karakter som bare er til stede i en streng basert på ASCII -verdier.

Eksempelkode

STRCMP () -funksjonen fungerer ved å sammenligne ASCII -verdier av tegnene, for referanse Se tabell nedenfor har vi tatt to tegn Jeg Og u. Begge har forskjellige ASCII -verdier med "Jeg" har 105 og u Verdi lik 117. Som betyr ASCII -verdien av Jeg er mindre enn u.

Tilsvarende store bokstaver jeg og u vil ha ASCII -verdi med deg større ASCII enn jeg.

ASCII -karakter Des Hex Oktober
Jeg 105 69 151
u 117 75 165

Ved å bruke et eksempel, la oss lære hvordan strcmp () fungerer.

void setup ()
int sammenligning_result;
Serie.Begynn (9600); /*Definere baud rate*/
char* string1 = "linuxhint"; /*String1 starter med liten I (ASCII -kode 105 i desimal)*/
char* string2 = "linuxhunt"; /*String2 starter med liten U (ASCII -kode 117 i desimal)*/
Sammenligning_result = strcmp (String1, String2); /*Sammenlign begge strengene*/
Serie.print ("output etter å ha sammenlignet to strenger =");
/*Vil returnere negativt tall ASCII -verdien av enmatch -tegn til streng 2 er større enn streng 1*/
Serie.println (sammenligning_result);

void loop ()

I denne koden definerer vi først en ny variabel produksjon For å lagre returverdien av STRCMP () -funksjonen. Så initialiserte vi seriell kommunikasjon ved å definere baudfrekvens. Neste to strenger er definert.

STRCMP () -funksjonen vil sammenligne begge strengene og lagre utgangen i variabler som er opprettet ved start. For å skrive ut utgangen på seriell-overvåkningsserie.println -funksjon brukes.

Produksjon

Vi kan kategorisere produksjon på tre forskjellige måter:

1. Når utgangen er positiv

Her er utgangen positiv fordi streng 1 ASCII -verdien er større enn streng 2.

2. Når utgangen er negativ

Her er utgangen negativ fordi streng 1 ASCII -verdien er mindre enn streng 2.

3. Når utgangen er null

Her er utgangen null fordi streng 1 er lik streng 2.

Merk: Flere andre funksjoner er også tilgjengelige som sammenligner to strenger som:

  • String er lik () funksjon.
  • Sammenligning () -funksjonen.
  • Strengsammenligningsoperatører ().

Konklusjon

Denne oppskrivningen vil hjelpe deg å forbedre og forbedre Arduino-programmeringsferdighetene. Hvis noen har en grunnleggende forståelse av C/C ++ -språket, vil det være enkelt å programmere Arduino -styret. STRCMP () -funksjonen sammenligner to forskjellige strenger og returnerer enten positive, negative eller null tall.