Corda: String é uma variedade de personagens. Alguns exemplos de cordas são:
“Nova Délhi é a capital da Índia”Delimitador: Qualquer personagem ou conjunto de caracteres pode ser considerado como delimitador. Se uma string for dividida com base no delimitador, o delimitador deve fazer parte da string ou senão string completa será a sequência de saída.
Os exemplos de delimiter comumente usados são: ““ (Espaço) ,, (vírgula), '\ n' (nova linha) e muito mais.
Dividindo a string com base no delimitador:
Vamos considerar um exemplo de string como "Fox vive em bosques" e delimitador como "" (espaço), então a corda se dividirá em várias strings. Múltiplas cordas após a divisão serão "Fox" "vidas" "em" "bosques".
Então agora, estamos claros sobre o conceito de divisão e também estamos claros agora na definição de corda e delimitador. Vamos prosseguir com a exploração da implementação da divisão em C.
Função padrão C para dividir com base no delimitador:
C fornece o strtok () função, que pode ser usada para dividir a string em tokens com base no delimitador selecionado.
Prototipo de função:
char *strtok (char *restrito str, const char *restringir Delim);Cabeçalho a ser incluído:
#incluirC Programa para dividir a string com base no delimitador usando strtok ():
#incluirC Snapshot do programa:
Saída do programa:
Agora, vamos discutir nossa própria implementação para dividir a string com base no delimitador sem usar a função C padrão (strtok ()).
Devemos procurar a presença do delimitador na string e retornar o endereço do primeiro caractere do token da string pouco antes do delimitador.
C Função para pesquisar o token com base no delimitador pode ser implementado como abaixo:
char *search_token (char *string, char *delim)Acima está a função de pesquisa para procurar o token, uma vez que o token é encontrado caráter antes que o token possa ser copiado e buscado no buffer de string de origem.
O programa C completo com nossa implementação será abaixo:
#incluirSaída do programa acima com o mesmo conjunto de entradas na função c strtok padrão:
Bash-4.2 $ ./a.foraInstantâneos do programa completo:
Snapshot de saída:
Conclusão:
Até agora, discutimos sobre a divisão da string com base no delimitador. Já existem maneiras de biblioteca disponíveis para fazer isso. A função da biblioteca que pode ser usada para dividir a string baseada no delimitador é strtok. Tomamos um exemplo de caso de uso para entender a função da biblioteca strtok. Além disso, escrevemos um programa de exemplo para entender o uso da função da biblioteca.
Segunda parte, implementamos nosso próprio método de dividir a string baseada no delimitador. Escrevemos uma função que é como C função strtok. A explicação do funcionamento da função personalizada foi fornecida e demonstrada com a ajuda da mesma função principal que foi tirada no caso da função da biblioteca C. Exemplo de saída do programa também é fornecido com o programa de exemplo.
Também passamos pelo conceito de divisão de cordas com base no delimitador, apenas para resumir qualquer personagem que seja pesquisado na string principal pode ser considerado como um token e pode ser pesquisado até que o token seja encontrado. Depois que o token é encontrado, a string antes do token é devolvida à função de chamadas.