logo

Funzione Strsep() in C

Introduzione:

stringhe sono una componente essenziale di programmazione , perché rendono possibile comunicare con utenti, mostrare risultati e leggere file . Sono un tipo di meccanismo di immissione e output dei dati. Da stringhe vengono costantemente utilizzati in qualche modo nei programmi che creiamo, la gestione efficiente delle stringhe e delle funzioni che le elaborano è fondamentale.

Questo tutorial ti insegnerà come dividere i testi in base ai delimitatori utilizzando il file metodo strsep() .

Esamineremo il ingresso E argomenti di output per strsep() , suo sintassi E spiegazione teorica e i tipi di dati consentiti per ciascuno di questi argomenti.

Successivamente metteremo in pratica ciò che abbiamo imparato utilizzando frammenti di codice e grafica per frammentare le stringhe utilizzando il metodo metodo strsep() , come dimostrato negli esempi pratici.

Sintassi della funzione Strsep() nel linguaggio C:

 char *strsep(char **restrict stringp, const char *restrict delim); 

Una spiegazione della funzione Strsep() in C:

  • UN corda viene suddiviso utilizzando il file funzione strsep() , iniziando con un delimitatore predeterminato.
  • IL corda indicato dal input stringp L'argomento viene suddiviso da questa funzione e i pezzi vengono quindi combinati per formare nuove stringhe che terminano tutte con il carattere null.
  • Ogni nuova stringa inizia da indirizzo dato dal puntatore di output e termina dove il delimitatore specificato da condivido E strsep() Quando viene trovato un delimitatore, la funzione lo sostituisce con un carattere null per indicare la fine della nuova stringa.
  • IL puntatore stringp viene impostato automaticamente all'inizio del frammento dopo che il carattere delimitatore viene scoperto quando la funzione ritorna dalla sua chiamata. IL puntatore stringp è ora pronto per ottenere il frammento successivo nella successiva chiamata di funzione. Fino a strsep() esaurisce i delimitatori e restituisce un puntatore nullo. Di conseguenza, questo processo viene ripetuto per ogni chiamata.

È significativo notare che questa funzione altera irrevocabilmente il testo di input sostituendo caratteri nulli per i delimitatori. IL intestazione 'string.h' contiene la definizione di funzione strsep() . Dobbiamo incorporarlo nel nostro codice come segue per poterlo utilizzare insieme alle altre funzioni di gestione delle stringhe:

 #include 

Come utilizzare la funzione Strsep() del linguaggio C per dividere una stringa in più frammenti

In questo esempio, la frase 'Iniziamo a programmare' viene creato come una stringa e il suo contenuto viene suddiviso utilizzando il file funzione strsep() . Ciascuna delle stringhe appena create viene quindi prodotta su una riga separata nel file terminale di comando . La stringa indicata da stringp Il parametro di input è suddiviso parola per parola poiché il delimitatore che utilizziamo nell'argomento di input delim è the carattere spazio (' ') .

come chiamare un metodo in Java

Dichiariamo il 'peccato' stringa insieme al testo 'Iniziamo a programmare' e il puntatore 'in_Ptr' nel funzione principale . IL stringp della funzione strsep() l'argomento di input è questo puntatore.

invertendo la stringa in Java

Come il argomento di input delim per il metodo strsep() e il carattere delimitatore designato, dichiariamo inoltre il 'stringa del' con il carattere dello spazio. Successivamente dichiariamo il puntatore 'o_Ptr' , che viene utilizzato come L'argomento di output di strsep() . IL metodo printf() utilizzerà questo puntatore come argomento di input per visualizzare il frammento recuperato sulla console dei comandi.

Successivamente, dopo aver fornito il file della corda come primo argomento, il 'in_Ptr' puntatore come secondo parametro e il puntatore 'o_Ptr' come argomento di output, chiamiamo the funzione strsep() . Questa chiamata viene effettuata all'interno di a ciclo while con la condizione di fuga che non ci siano più delimitatori quando strsep() restituisce un puntatore nullo.

Il codice per questo esempio è il seguente:

 #include #include int main() { char s_in[50] = 'Let's start programming '; char del[20] = ' '; char* in_Ptr = s_in; char* o_Ptr; while ((o_Ptr = strsep(&in_Ptr, del)) != NULL) { printf('%s
', o_Ptr); } return 0; } 

Strsep() divide il 'peccato' stringa parola per parola, producendo ogni volta una nuova stringa, che viene poi visualizzata su una nuova riga nella console dei comandi, come mostrato di seguito;

Produzione:

 Let's start programming 

Conclusione

In questo articolo, abbiamo dimostrato come elaborare le stringhe utilizzando il metodo funzione strsep() , una delle funzioni specificate nel 'stringa.h' intestazione. Abbiamo parlato della giustificazione teorica per questo sintassi, tecnica di chiamata , E operazione . Inoltre, abbiamo dimostrato il tipo di dati accettati da ciascun argomento di input e output.