Funzione Arduino Strcmp

Funzione Arduino Strcmp

Arduino è programmato usando il linguaggio C o C ++; La maggior parte della sintassi di entrambe queste lingue è la stessa. Le funzioni utilizzate nel linguaggio C possono essere facilmente implementate nella programmazione Arduino, uno di essi è strcmp che confronta due diversi caratteri di stringhe. Scopriamo come farlo in Arduino IDE.

funzione strcmp ()

La funzione strcmp () nella programmazione Arduino confronta due stringhe diverse e restituisce tre valori a seconda dei caratteri all'interno della stringa. La funzione di confronto stringa controlla i valori ASCII dei caratteri presenti in entrambe le stringhe e restituisce un numero positivo, negativo o zero in output.

Lo strcmp () confronta sia la stringa 1 che la stringa 2 carattere per carattere. Continuerà a confrontarsi fino a quando non trova un carattere dissimile tra le due stringhe. Se il primo carattere di entrambe le stringhe è uguale, si muoverà verso il secondo e continuerà a confrontarsi fino a quando non trova un carattere diverso. Nel caso in cui non venga trovato un singolo carattere diverso, zero verrà restituito.

Sintassi

La sintassi della funzione strcmp () è riportata di seguito:

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

Nella sintassi indicata sopra String1 e String2 sono due stringhe i cui caratteri devono essere confrontati uno per uno.

Valori dei parametri

La funzione strcmp () prende due parametri:

  • String1: puntatore alla prima stringa che deve essere confrontata.
  • String2: puntatore alla seconda stringa che deve essere confrontata.

Valori di ritorno

I caratteri sulla tastiera hanno valori ASCII univoci, quindi il strcmp () Le funzioni restituiscono tre valori diversi a seconda dei caratteri della stringa:

  • Valore positivo: Se i caratteri della stringa 1 hanno un valore ASCII maggiore rispetto al primo carattere diverso della stringa 2.
  • Valore negativo: Se i caratteri della stringa 1 hanno un valore ASCII più piccolo rispetto al primo carattere diverso della stringa 2.
  • Zero: Se la stringa 1 e la stringa 2 sono uguali.

Questa funzione confronterà ogni carattere nella stringa con ogni carattere di un'altra stringa e continuerà fino a quando non arriverà qualsiasi carattere diverso che è presente in una sola stringa basata sui valori ASCII.

Codice di esempio

La funzione strcmp () funziona confrontando i valori ASCII dei caratteri, per riferimento vedi la tabella di seguito abbiamo preso due caratteri io E u. Entrambi hanno valori ASCII diversi con "io" avere 105 e u valore pari a 117. Il che significa il valore ASCII di io è più piccolo di u.

Allo stesso modo le lettere di capitale io e u avrai un valore ASCII con u maggiore ASCII di I.

Carattere ASCII Dec ESADECIMALE Ott
io 105 69 151
u 117 75 165

Usando un esempio, scopriamo come funziona strcmp ().

void setup ()
int confronto_result;
Seriale.Inizia (9600); /*Definire il tasso di baud*/
char* string1 = "linuxhint"; /*String1 inizia con piccolo I (codice ASCII 105 in decimale)*/
char* string2 = "linuxhunt"; /*String2 inizia con piccolo U (Codice ASCII 117 in decimale)*/
Confronto_result = strcmp (string1, string2); /*Confronta entrambe le stringhe*/
Seriale.print ("output dopo aver confrontato due strings =");
/*Restituirà il valore negativo ASCII del carattere non errata della stringa 2 è maggiore della stringa 1*/
Seriale.println (confronto_result);

void loop ()

In questo codice prima definiamo una nuova variabile produzione per archiviare il valore di ritorno della funzione strcmp (). Quindi abbiamo inizializzato la comunicazione seriale definendo il tasso di baud. Vengono definite le prossime due stringhe.

La funzione strcmp () confronterà sia le stringhe che memorizzerà l'uscita nelle variabili create all'inizio. Per stampare l'output su seriale seriale monitor.viene utilizzata la funzione println.

Produzione

Possiamo classificare l'output in tre modi diversi:

1. Quando l'output è positivo

Qui l'output è positivo perché il valore String 1 ASCII è maggiore della stringa 2.

2. Quando l'output è negativo

Qui l'output è negativo perché il valore String 1 ASCII è inferiore alla stringa 2.

3. Quando l'output è zero

Qui l'output è zero perché la stringa 1 è uguale alla stringa 2.

Nota: Sono disponibili anche altre funzioni che confrontano due stringhe come:

  • Funzione stringa equals ().
  • funzione comparazione ().
  • Operatori di confronto delle stringhe ().

Conclusione

Questo articolo ti aiuterà a migliorare e migliorare le capacità di programmazione Arduino. Se qualcuno ha una comprensione di base del linguaggio C/C ++, sarà facile programmare la scheda Arduino. La funzione strcmp () confronta due stringhe diverse e restituisce numeri positivi, negativi o zero.