Pular para o conteúdo

Função para concatenar texto ilimitada

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.
eu cdvdt
Hits: 7.525 Categoria: C/C++ Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.
Download conc.c Enviar nova versão

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]!='\0';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]!='\0';k++) texto[n+k]=pre[k];
      n+=k;
   }
   texto[n]='\0';
   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);
}

Simples Calculadora em C++

Método da bissecção

Calculo calorico visando perca de gordura e definicao muscular

A - Comando strchr

CalDOS - 60 funções em uma calculadora

#1 Comentário enviado por cdvdt em 09/05/2008 - 18:33h
substitua '
#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]!='\0';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]!='\0';k++) texto[n+k]=pre[k];
      n+=k;
   }
   texto[n]='\0';
   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);
}
' por 0 ou '\0', eu realmente não sei porque o código mudou

Contribuir com comentário

Entre na sua conta para comentar.