logo

Funció Strsep() en C

Introducció:

Cordes són un component essencial de programació , perquè permeten comunicar-se amb usuaris, mostrar resultats i llegir fitxers . Són un tipus de mecanisme d'entrada i sortida de dades. Des de cordes s'utilitzen constantment d'alguna manera en els programes que creem, el maneig eficient de les cadenes i les funcions que les processen són crucials.

Aquest tutorial us ensenyarà com dividir textos en funció dels delimitadors que utilitzin mètode strsep(). .

Repassarem el entrada i arguments de sortida per strsep() , la seva sintaxi i explicació teòrica , i els tipus de dades permesos per a cadascun d'aquests arguments.

A continuació, posem en pràctica el que hem après utilitzant fragments de codi i gràfics per fragmentar cadenes mitjançant el mètode strsep(). , que es demostra en els exemples pràctics.

Sintaxi de la funció Strsep() en el llenguatge C:

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

Una explicació de la funció Strsep() en C:

  • A corda es trenca amb el funció strsep(). , començant amb un delimitador predeterminat.
  • El corda assenyalat per la entrada stringp L'argument es divideix per aquesta funció, i les peces es combinen per formar noves cadenes que acaben totes amb el caràcter nul.
  • Cada nova cadena comença a les adreça donat pel punter de sortida i acaba on el delimitador especificat per comparteixo i strsep() Quan es troba un delimitador, la funció el substitueix per un caràcter nul per indicar el final de la cadena nova.
  • El punter stringp s'estableix automàticament a l'inici del fragment després que es descobreixi el caràcter delimitador quan la funció torna de la seva crida. El punter stringp ara està preparat per obtenir el següent fragment de la següent crida de funció. Fins que strsep() es queden sense delimitadors i retorna un punter nul. Com a resultat, aquest procés es repeteix per a cada trucada.

És significatiu tenir en compte que aquesta funció altera el text d'entrada de manera irrevocable substituint caràcters nuls pels delimitadors. El capçalera 'string.h' conté la definició de funció strsep(). . Hem d'incorporar-lo al nostre codi de la següent manera per utilitzar-lo i les altres funcions de gestió de cadenes:

 #include 

Com utilitzar la funció Strsep() del llenguatge C per dividir una cadena en diversos fragments

En aquest exemple, la frase 'Comencem a programar' es crea com una cadena i el seu contingut es divideix mitjançant l' funció strsep(). . A continuació, cadascuna de les cadenes de nova creació es produeix en una línia separada al terminal de comandaments . La corda assenyalada per la stringp El paràmetre d'entrada es divideix paraula per paraula ja que el delimitador que utilitzem a l'argument d'entrada delim és el caràcter espai (' ') .

java agitant a int

Declarem el 's_in' cadena juntament amb el text 'Comencem a programar' i la punter 'in_Ptr' en el funció main(). . El stringp de la funció strsep(). L'argument d'entrada és aquest punter.

instanceof en java

Com el argument d'entrada delim per al mètode strsep(). i el caràcter delimitador designat, també declarem el 'string del' amb el caràcter espacial. A continuació, declarem el punter 'o_Ptr' , que s'utilitza com a Argument de sortida de strsep(). . El mètode printf(). utilitzarà aquest punter com a argument d'entrada per mostrar el fragment recuperat a la consola d'ordres.

Després d'això, després de subministrar el del string com a primer argument, el 'in_Ptr' punter com a segon paràmetre, i el punter 'o_Ptr' com a argument de sortida, anomenem el funció strsep(). . Aquesta trucada es fa dins d'un bucle while amb la condició d'escapament que no hi hagi més delimitadors quan strsep() retorna un punter nul.

El codi d'aquest exemple és el següent:

 #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() divideix el 's_in' cadena paraula per paraula, produint una nova cadena cada vegada, que després es mostra en una línia nova a la consola d'ordres, tal com es mostra a continuació;

Sortida:

 Let's start programming 

Conclusió

En aquest article, hem demostrat com processar cadenes amb el funció strsep(). , una de les funcions especificades al 'cadena.h' capçalera. Hem parlat de la justificació teòrica del seu sintaxi, tècnica de crida , i funcionament . A més, vam demostrar el tipus de dades que accepta cada argument d'entrada i sortida.