Strncat c ++

Strncat c ++
La funzione strncat () si comporta su una stringa che è contenuta in un array char in stile c e viene utilizzata per aggiungere i primi n caratteri di una stringa alla coda di un'altra stringa. Rispetto alla funzione strcat (), si consiglia di utilizzare la funzione strncat () perché verifica la dimensione e le copie dei dati copiati fino a raggiungere un terminator null, che può provocare un overflow del buffer. Useremo la funzione strncat () con l'implementazione di alcuni esempi in questa artice. In parole semplici, possiamo aggiungere la sezione specificata di una stringa alla fine di un'altra usando la funzione strncat ().

Sintassi della funzione strncat ()

Utilizziamo la sintassi della funzione strncat () in C ++ come quella dimostrata nel seguente:

Strncat (DEST, SRC, COUNT)

La funzione strncat () prende tre argomenti che sono DEST, SRC e COUNT. Il primo carattere di SRC viene utilizzato per sostituire il carattere di terminazione nullo che generalmente si verifica alla fine di DEST e il carattere risultante ha anche una terminazione nulla. Il comportamento della funzione strncat () non è definito quando è presente una stringa di sovrapposizione o se la stringa SRC non ha una dimensione maggiore rispetto all'array di destinazione.

Esempio 1: usando la funzione strncat () in c++

Usiamo la funzione Strncat di C ++ per dimostrare la funzionalità di questa funzione. In primo luogo, il modulo cstring viene aggiunto alla sezione di intestazione per la manipolazione delle stringhe. Quindi, abbiamo un file iostream per flussi di input e output. Successivamente, definiamo la funzione principale. La funzione principale viene dichiarata con il tipo di dati di dati per l'inizializzazione delle stringhe. Definiamo le stringhe per le variabili "Src" e "Dest". Queste variabili sono parametri per la funzione strncat.

Le variabili Src e Dest possono richiedere solo caratteri "50". Successivamente, invochiamo la funzione Strncat e il passe "Src" e "Dest" come input con un altro input che è il "conteggio". L'ingresso "Conte" conta i caratteri massimi dalla stringa specificata in DEST da copiare e concatena i caratteri rimanenti dalla stringa SRC. Con la dichiarazione del tribunale C ++, stampiamo la stringa iniziale, che è la stringa SRC. Quindi, stampiamo la stringa DEST che è la stringa di destinazione. Il codice per questa istanza specifica è allegato nella seguente immagine:

Con il compilatore G ++, compiliamo il programma precedente e restituisce la stringa iniziale e la stringa finale che è la stringa di destinazione ottenuta dalla funzione STRNCAT.

Esempio 2: utilizzando gli elementi di applicazione della funzione Strncat () in C++

In questo esempio, aggiungiamo gli elementi del carattere da una stringa a un'altra stringa con l'aiuto della funzione Strncat. Quindi, includiamo il modulo cstring nella sezione di intestazione del seguente programma. Quindi, implementiamo la funzione principale in cui definiamo il tipo di dati Char per la variabile etichettata come "Array1" e "Array2". Le variabili "Array1" e "Array2" sono assegnate con il valore dell'indice "20" che prende solo 20 caratteri. Quindi, inizializziamo il valore della stringa "Benvenuti a" nella variabile "Array1" e il valore della stringa "Wonder Land" alla variabile "Array2".

Stampiamo le stringhe prima della funzione strncat (). La funzione Strncat è ora chiamata e passiamo al suo interno i parametri "Array1" e "Array2". La variabile "array1" è la stringa di origine e la variabile "array2" è la stringa di destinazione. Specifichiamo anche il parametro "conta" nella funzione strncat per copiare il carattere dalla stringa. Assegniamo il numero "2" alla funzione Strncat in modo che conta solo due caratteri dalla stringa di origine e copia nella stringa di destinazione. La riga risultante viene visualizzata dai comandi Cout sulla schermata di uscita. Il codice per questa istanza specifica è allegato nella seguente immagine:

La compilazione del programma precedente restituisce la seguente stringa. Possiamo vedere che i risultati delle due stringhe sono visualizzati sullo schermo.

Esempio 3: usando la funzione strncat () e la funzione strcat () c++

Abbiamo visto la funzionalità della funzione strncat () nel linguaggio di programmazione di C++. Ora, differenziamo tra la funzione strncat () e la funzione strcat (). Sappiamo che la funzione strcat () può unire o concatenare i caratteri N da una stringa all'altra. Usando la funzione strcat (), gestiamo la stringa con un carattere null. Un carattere null (0) che rappresenta l'estremità della stringa dovrebbe essere disponibile nell'input della stringa che viene passata alla funzione. Usiamo queste due funzioni in un esempio per svolgere le loro funzionalità distinte. Dichiariamo tre variabili: una è per la stringa di origine e le altre due rappresentano la stringa di destinazione. Quindi, visualizziamo semplicemente il valore della stringa che contiene ogni variabile.

Dopo questo, abbiamo la funzione strncat () che prende la variabile SRC e la variabile DEST1 come argomento. La stringa risultante da questa funzione è la stringa di destinazione "Dest1" che concatena i caratteri della stringa di origine "SRC". Successivamente, invochiamo la funzione strncat (). Qui, passiamo la variabile "DEST2" e la variabile "SRC" come input insieme alla variabile di conteggio. Abbiamo mostrato i risultati della funzione strncat stampandolo con il comando cout. Il codice per questa istanza specifica è allegato nella seguente immagine:

Ora, possiamo vedere la stringa prima della funzione Strcat e dopo la funzione Strncat. Inoltre, l'output della stringa prima della funzione strncat () e la stringa risultante dopo la funzione strncat ().

Conclusione

Questa guida ha coperto la funzione strncat () che è supportata dal modulo cstring di c++. Abbiamo dimostrato la funzione strncat () con la sua sintassi e con esempi. Il primo esempio ha appena usato la funzione strncat (). Ma nel prossimo esempio, abbiamo un accesso ai caratteri della stringa di destinazione aggiungendo i caratteri della stringa di origine. Sebbene, abbiamo una chiara distinzione tra le prestazioni di distinzione della funzione Strncat e Strcat in C++.