| Você está aqui: C ::: Dicas & Truques ::: Strings e Caracteres | 
| Como criar sua própria função substring() para retornar uma substring a partir de uma string em CQuantidade de visualizações: 17192 vezes | 
| Em algumas situações precisamos obter uma substring a partir de uma string. A linguagem C já fornece algumas funções que tornam isso possível. No entanto, nenhuma destas funções permite especificar o índice inicial da substring. Sendo assim, o trecho de código abaixo mostra como escrever uma função substring() que permite informar a string de origem, o índice inicial e a quantidade de caracteres que serão obtidos. O retorno da função será um ponteiro para a substring obtida: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *substring(char *origem, int inicio, int quant){
  char *res = origem;
  int i = 0;
  // posição inicial menor que 0 ou
  // posição inicial muito exagerada?
  if((inicio < 0) || (inicio > strlen(origem)))
    inicio = 0;
  // quantidade de caracteres muito exagerada?
  if(quant > inicio + strlen(origem))
    quant = strlen(origem) - inicio;
  // obtem os caracteres desejados
  for(i = 0; i <= quant - 1; i++){
    res[i] = origem[inicio + i];
  }
  // marca o fim da string
  res[i] = '\0';
  return res;
}
int main(int argc, char *argv[])
{
  char texto[] = "Gosto muito de C e C++";
  
  // não podemos bagunçar a string original
  char sub_temp[128];
  strcpy(sub_temp, texto);
  // 10 caracteres começando
  // no índice 6
  char *res = substring(sub_temp, 6, 10);
  // exibe o resultado
  puts(res);
  // exibe a string original
  puts(texto);
  system("pause");
  return 0;
}
Ao executar este código nós teremos o seguinte resultado: muito de C Gosto muito de C e C++ | 
|  Link para compartilhar na Internet ou com seus amigos: | 
| Desafios, Exercícios e Algoritmos Resolvidos de C | 
| Veja mais Dicas e truques de C | 
| Dicas e truques de outras linguagens | 
| E-Books em PDF | ||||
| 
 | ||||
| 
 | ||||
| Linguagens Mais Populares | ||||
| 
			   1º lugar: Java | 


 
 





