Funzione Arduino Strcpy

Funzione Arduino Strcpy
Arduino eredita la sua programmazione dal linguaggio C/C ++ e una vasta gamma di funzioni di programmazione Arduino sono simili a queste due lingue. IL strcpy () è uno di questi che aiuta gli utenti a copiare una stringa da una destinazione a un'altra. Scopriamo come utilizzare questa funzione nella programmazione Arduino con l'aiuto di un esempio.

funzione strcpy ()

Per copiare una stringa dall'origine a una nuova stringa normalmente indicata come destinazione, utilizziamo la funzione Arduino strcpy (). Include anche personaggi null durante la copia. Copia una stringa da una variabile e la memorizza all'interno di una nuova variabile.

Per evitare gli overflow, la dimensione dell'array di destinazione deve essere maggiore dell'origine, incluso la terminazione del carattere. Può anche sovrascrivere la stringa di destinazione con una nuova. Di seguito sono riportati alcuni punti salienti della funzione strcpy ():

  • La stringa di origine viene copiata nella stringa di destinazione.
  • L'intera stringa viene sostituita invece di essere aggiunta.
  • Nessuna modifica nella stringa di origine.

Sintassi

char* strcpy (char* destinazione, const char* sorgente);

La sintassi mostra che strcpy () funzioni copie stringa con cost char tipo da sorgente a una nuova stringa di destinazione tipo char incluso il carattere di terminazione null '\ 0'.

  • La fonte è di const char* tipo. Il tipo di const char garantisce che la stringa indicata da fonte non può essere modificato dalla funzione.
  • La destinazione è di CHAR* tipo. Questo tipo di dati garantirà che la stringa indicata da destinazione può essere modificato dalla funzione.

Parametri

Questa funzione richiede due parametri:

  • Destinazione: Puntatore all'array di destinazione in cui il contenuto di stringa di origine deve essere copiato.
  • Fonte: Puntatore alla stringa da dove viene copiato il contenuto della stringa.

Valore di ritorno

la funzione strcpy () restituisce:

  • Destinazione: strcpy () funzione di ritorno della funzione stringa dopo averlo copiato dalla sorgente.

Strcpy () comportamento indefinito

La funzione strcpy () mostra un comportamento indefinito se:

  • La memoria allocata per la stringa di destinazione è inferiore alla stringa di origine.
  • Le corde si sovrappongono.

Codice di esempio

Digita il codice seguente nell'IDE Arduino. Carica il codice sulla scheda Arduino e apri il monitor seriale per vedere l'output.

void setup ()
const char* sorgente = "linuxhint.Com ";
CHAR DETTAGNO [17] = "Arduino";
Seriale.Inizia (115200);
Seriale.print ("source string =");
Seriale.println (fonte);
Seriale.print ("stringa di destinazione prima di strcpy =");
Seriale.println (destinazione);
strcpy (destinazione, fonte);
Seriale.print ("stringa di destinazione dopo strcpy =");
Seriale.println (destinazione);

void loop ()

Il codice sopra inizia con la definizione della sorgente e una stringa di destinazione. La stringa di origine è definita come const char che definisce una modifica senza modifica della stringa di origine mentre la stringa di destinazione è solo tipo char mostrando che può essere modificato. La prossima comunicazione seriale inizia definendo il tasso di baud.

Innanzitutto, stamperemo sia la stringa di origine che la destinazione utilizzando Serial.println () sul monitor seriale. Successivamente abbiamo definito la funzione strcpy () che copierà la stringa di origine a destinazione.

L'ultima parte del codice stamperà la nuova stringa copiata a destinazione.

Produzione

L'output del codice verrà stampato sul monitor seriale. Verranno stampate la stringa di origine e destinazione. La stringa di destinazione prima e dopo strcpy () è possibile visualizzare nel terminale di uscita.

Conclusione

Arduino è una piattaforma che dà la libertà ai suoi utenti per programmare il microcontrollore. Funzioni multiple come strcpy () aiutano a ottimizzare il codice Arduino. Questa funzione copierà una stringa dall'origine a una nuova stringa di array char chiamata destinazione. Qualsiasi stringa può essere copiata ma mantieni la stringa di dimensioni di destinazione maggiore della sorgente.