Função strsep na linguagem C

Função strsep na linguagem C
As cordas são uma parte fundamental da programação, porque é possível enviar mensagens ao usuário, exibir os resultados e ler os arquivos através deles. Eles também são um dos métodos de entrada e saída de dados.

O manuseio fluente de cordas e as funções que as processam é muito importante, pois sempre as usamos em alguma parte do programa que desenvolvemos.

Neste artigo do Linux, você aprenderá como usar a função strsep () para dividir as strings com base no delimitador.

Mostraremos a sintaxe e a descrição teórica de chamar a operação de strsep (), seus argumentos de entrada e saída e os tipos de dados aceitos para cada um desses argumentos.

Em seguida, aplicamos o que aprendemos nos exemplos práticos que mostram como implementar a função strsep () para fragmentar as strings usando os trechos e imagens de código.

Sintaxe da função strsep () na linguagem C

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

Descrição da função strsep () na linguagem C

A função strsep () fragmenta uma string a partir de um delimitador predefinido.
Esta função fragmenta a string que é apontada pelo argumento de entrada Stringp e converte seus fragmentos em novas cordas, todas terminando com um caractere nulo.

Cada nova string começa no endereço que é retornado no ponteiro de saída e termina onde o strsep () atende ao delimitador que é especificado em delim. Se a função encontrar um delimitador, substitui -o por um caractere nulo, marcando o final da nova string.

Quando a função retorna de sua chamada, o ponteiro de Stringp é automaticamente definido no início do fragmento, seguindo o caractere delimitador que encontrou. Dessa forma, o ponteiro Stringp está pronto para recuperar o próximo fragmento na próxima chamada de função. Esse processo é repetido para cada chamada até que o strsep () não encontre mais delimitadores e retorne um ponteiro nulo como resultado.

É importante observar que essa função modifica irreversivelmente a sequência de entrada, substituindo os delimitadores por caracteres nulos.

A função strsep () é definida na “string.H ”cabeçalho. Para usá -lo e as outras funções de gerenciamento de strings, precisamos incluí -lo em nosso código da seguinte maneira:

#incluir

Como separar uma string em vários fragmentos usando a função strsep () na linguagem C

Neste exemplo, criamos uma string que contém o “Hoje é um ótimo dia para programar“Frase e use a função strsep () para fragmentar o conteúdo e produzir cada uma das strings recém -obtidas em uma nova linha no console de comando.

O delimitador que usamos no argumento de entrada Delim é o personagem do espaço (““), então a string que é apontada pelo argumento de entrada da stringp é fragmentada por palavra.

Na função Main (), declaramos a string "s_in" com a "Hoje é um ótimo dia para programar"Phrase e o ponteiro" in_ptr ". Este ponteiro é o argumento de entrada Stringp da função strsep ().

Também declaramos o "String del" com o personagem espacial, que é o argumento de entrada do delim da função strsep () e o caractere delimitador atribuído.

Finalmente, declaramos o ponteiro "O_PTR", que serve como o argumento de saída de Strsep (). Este ponteiro aponta para o fragmento recuperado e serve como argumento de entrada para a função printf () para exibi -lo no console de comando.

Em seguida, chamamos a função strsep () passando o ponteiro "in_ptr" como o primeiro argumento, a string del como o segundo argumento e o ponteiro "O_PTR" como argumento de saída.

Esta chamada é feita dentro de um pouco de loop, onde a condição de fuga é que o strsep () retorna um ponteiro nulo, o que significa que não há mais delimitadores.

Aqui está o código para este exemplo:

#incluir
#incluir
void main ()

char s_in [50] = "Hoje é um ótimo dia para programação";
char del [20] = "";
char* in_ptr = s_in;
charr* o_ptr;
while (o_ptr != Null)
o_ptr = strsep (& in_ptr, del);
printf ("%s \ n \ n", o_ptr);

Como visto na figura a seguir, o strsep () separa a palavra string "s_in" por palavra, criando uma nova string a cada vez, cada uma exibida em uma nova linha no console de comando:

Conclusão

Neste artigo do Linux, mostramos como usar a função strsep (), que é uma das funções definidas na “string.H ”Cabeçalho para processar as cordas.

Discutimos a explicação teórica de sua operação, sua sintaxe e seu método de chamada. Também mostramos os argumentos de entrada e saída e o tipo de dados que cada um deles aceita.

Para ajudá-lo a entender como essa função funciona, também analisamos um exemplo prático em que mostramos como declarar os ponteiros necessários que são usados ​​como argumentos de entrada e saída para esta função usando os fragmentos e trechos de código que são explicados passo a passo passo, junto com o método de chamada.