Função para concatenar texto ilimitada

Publicado por eu 08/05/2008

[ Hits: 7.108 ]

Download conc.c




Esta função concatena um número ilimitado de strings; a sequência de strings deve ser terminada por NULL.

Depende da stdlib.h por causa do malloc. No arquivo tem um main com um exemplo de como usá-la.

  



Esconder código-fonte

#include <stdio.h>
#include <stdlib.h>

char *conc(int i, ...)
{
   int *p=&i;
   char *texto,*pre;
   int n=0,n2,k,j;
   for(j=0;p[j]!=0;j++)
   {
      pre= (char *) p[j];
      for(k=0;pre[k]!='{FONTE}';k++);
      n+=k;
   }
   texto=malloc((n+1)*sizeof(char));
   n=0;
   for(j=0;p[j]!=0;j++)
   {
      pre= (char *) p[j];
      for(k=0;pre[k]!='{FONTE}';k++) texto[n+k]=pre[k];
      n+=k;
   }
   texto[n]='{FONTE}';
   return texto;
}

int main ()
{
   char texto1[80]="f";
   char texto2[80]="/tmp/lte/13 Three Minute Warning [Continued].mp3";
   char *texto;
   texto=conc((int)"fbsetbg -",texto1," \"",texto2,"\"",0);
   printf("%s\n",texto);
   free(texto);
}

Scripts recomendados

C split

Manipulando argumentos com getopt_long

Molde para balões juninos

Argv e Argc

Rotinas para manipulação de matrizes


  

Comentários
[1] Comentário enviado por cdvdt em 09/05/2008 - 18:33h

substitua '{FONTE}' por 0 ou '{COMENTARIO}', eu realmente não sei porque o código mudou


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts