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.