Arduino simbolių valdymas

Visi duomenys į kompiuterius įvedami kaip simboliai, kuriuos sudaro raidės, skaitmenys ir įvairūs specialūs simboliai. Šiame skyriuje aptarsime C++ mums teikiamas galimybes tirti ir valdyti atskirus simbolius.

Tam kad galėtume pasiekti mums reikiamas funkcijas privalome į programos antraštę įterpti <cctype> biblioteką. Ši biblioteka turi platų funkcijų pasirinkimą kurios padės manipuliuojant simboliais.

int isdigit( int c ) – funkcija tikrina ar argumentas yra skaičius, jei pateikiamas skaičius funkcija grąžina 1 reikšmę, jei ne – 0.

int isalpha( int c ) - funkcija tikrina ar argumentas yra raidė, jei pateikiama raidė funkcija grąžina 1 reikšmę, jei ne – 0.

int isalnum( int c ) - funkcija tikrina ar argumentas yra raidė arba skaičius, jei pateikiama raidė arba skaičius funkcija grąžina 1 reikšmę, kitais atvejais – 0.

int isxdigit( int c ) - funkcija tikrina ar argumentas yra šešioliktainis skaičius, jei pateikiamas šešioliktainis skaičius funkcija grąžina 1 reikšmę, kitais atvejais – 0.

int islower( int c ) - funkcija tikrina ar argumentas yra mažoji raidė, jei pateikiama mažoji raidė funkcija grąžina 1 reikšmę, jei ne – 0.

int isupper( int c ) - funkcija tikrina ar argumentas yra didžioji raidė, jei pateikiama didžioji raidė funkcija grąžina 1 reikšmę, jei ne – 0.

int isspace( int c ) -  funkcija grąžina 1 reikšmę jei argumentas yra viena iš šių reikšmių: '\n',  ' ', '\f',  '\r', '\t', '\v', visais kitais atvejais grąžinama vertė lygi 0.

int ispunct( int c ) - funkcija tikrina ar argumentas yra spausdinamas simbolis, jei pateikiamas spausdinamas simbolis kuris nėra nei tuščias tarpas, nei skaičius, nei raidė funkcija grąžina 1 reikšmę, jei ne – 0.  

int isprint( int c ) - funkcija tikrina ar argumentas yra spausdinamas simbolis kuriame yra tuščias tarpas ' ', jei pateikiamas toks simbolis funkcija grąžina 1 reikšmę, kitais atvejais – 0.

int isgraph( int c ) - funkcija tikrina ar argumentas yra bet koks simbolis išskyrus tuščią tarpą ' ', jei pateikiamas toks simbolis funkcija grąžina 1 reikšmę, kitais atvejais – 0.

Žemiau esančiame pavyzdyje parodoma kaip, naudotis šiomis funkcijomis, tačiau atkreipkite dėmesį, kad funkcijos naudojamos sutrumpintuose if sąlygos sakiniuose.

void setup () {  

Serial.begin (9600);    

Serial.print ("According to isdigit:\r");    

Serial.print (isdigit( '8' ) ? "8 is a": "8 is not a");  

Serial.print (" digit\r" );    

Serial.print (isdigit( '8' ) ?"# is a": "# is not a") ;    

Serial.print (" digit\r");  

Serial.print ("\rAccording to isalpha:\r" );  

Serial.print (isalpha('A' ) ?"A is a": "A is not a");    

Serial.print (" letter\r");    

Serial.print (isalpha('A' ) ?"b is a": "b is not a");    

Serial.print (" letter\r");    

Serial.print (isalpha('A') ?"& is a": "& is not a");    

Serial.print (" letter\r");    

Serial.print (isalpha( 'A' ) ?"4 is a":"4 is not a");  

Serial.print (" letter\r");    

Serial.print ("\rAccording to isalnum:\r");    

Serial.print (isalnum( 'A' ) ?"A is a" : "A is not a" );    

Serial.print (" digit or a letter\r" );    

Serial.print (isalnum( '8' ) ?"8 is a" : "8 is not a" ) ;    

Serial.print (" digit or a letter\r");    

Serial.print (isalnum( '#' ) ?"# is a" : "# is not a" );    

Serial.print (" digit or a letter\r");    

Serial.print ("\rAccording to isxdigit:\r");  

Serial.print (isxdigit( 'F' ) ?"F is a" : "F is not a" );    

Serial.print (" hexadecimal digit\r" );    

Serial.print (isxdigit( 'J' ) ?"J is a" : "J is not a" ) ;  

Serial.print (" hexadecimal digit\r" );    

Serial.print (isxdigit( '7' ) ?"7 is a" : "7 is not a" ) ;   

Serial.print (" hexadecimal digit\r" );    

Serial.print (isxdigit( '$' ) ? "$ is a" : "$ is not a" );    

Serial.print (" hexadecimal digit\r" );    

Serial.print (isxdigit( 'f' ) ? “f is a" : "f is not a");    

}  

void loop () {  }


Socialiniai tinklai
Pasiekite mūsų bendruomenę socialinėje erdvėje
Siekiame suburti tvirta ir draugiška bendruomene socialiniuose tinkluose, kuri bus pasiekiama ir atvira visiems.
Facebook
Youtube
Github
Codepen
LinkedIn
Instagram
Bendruomenė
Arduinopagalba.lt
Nesvarbu ar tu ieškai informacijos ar nori ją perduoti, mūsų bendruomenėje laukiami visi. Siekiame, kad projektas ne tik teiktų informaciją, bet ir padėtų surasti bendraminčius.
Prisijungti